com::__construct

(PHP 4 > 4.1.0, PHP 5, PHP 7, PHP 8)

com::__constructcom クラスのコンストラクタ

説明

public com::__construct(
    string $module_name,
    array|string|null $server_name = null,
    int $codepage = CP_ACP,
    string $typelib = ""
)

新しい com オブジェクトを構築します。

パラメータ

module_name
ロードするコンポーネントの名前を表す ProgID, ClassID または Moniker。 ProgID は通常、アプリケーションまたは DLL の名前で、その後にピリオドが続き、 オブジェクト名が続きます。e.g: Word.Application ClassID は、与えられたクラスを一意に識別するUUIDです。 Moniker は、URL スキームの概念に似た特別な名前付けのやり方で、 リソースを識別し、どのようにロードするかを指定します。 たとえば、Microsoft Word をロードし、 Word ドキュメントを表現するオブジェクトを取得するために、 フルパスをモジュール名として指定できます。 また、LDAP への ADSI インターフェイスを使う moniker として LDAP: が使えます。
server_name
コンポーネントをロードし、実行する DCOM サーバー名。 null の場合、そのアプリケーションのデフォルトが使われ、実行されます。 デフォルトは通常はローカルマシン上で実行することですが、 管理者が異なるマシン上で起動するアプリケーションを設定するかもしれません。 server に null でない値を指定すると、PHP は com.allow_dcom php.ini 設定オプションが true でない限りオブジェクトのロードを拒否します。

server_name が配列の場合、 次の要素が含まれるべきです(大文字小文字を区別します!)。 但し、これらは全てオプション(ユーザー名とパスワードは一緒に指定する必要があります) であることに注意してください。つまり、サーバーの設定を省略すると、 (既に述べたとおり)デフォルトのサーバーが使われ、オブジェクトのインスタンス化は com.allow_dcom php.ini ディレクティブによって影響を受けません。

DCOM サーバー名
キー タイプ 説明
Server string サーバー名
Username string 接続するユーザ名
Password string Username のパスワード
Domain string server のドメイン
Flags integer 以下の定数をひとつ以上、論理ORで指定します: CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER および CLSCTX_ALL。 指定されなかった場合のデフォルト値は Server も省略した場合は、 CLSCTX_SERVER ですが、 server を指定した場合は CLSCTX_REMOTE_SERVER です。 これらの定数の意味の詳細情報は、 Microsoft の CoCreateInstance のドキュメントも参照ください。 通常、それらを使わないことはないはずです。

codepage
文字列をUnicode文字列その他に変換するために使うコードページを指定します。 PHP の文字列が この COM オブジェクトのメソッドとパラメータをやりとりする時に 常にこの変換は適用されます。このコードページは sticky です。 つまり、コードページはオブジェクトから返されるオブジェクトやバリアントに伝播するということです。 有効な値は CP_ACP (システムデフォルトの ANSI コードページを使う - このパラメータが省略された場合のデフォルト値), CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP (現在実行中のスレッドのコードページ/ロケールを使う), CP_UTF7 および CP_UTF8 です。 コードページの数値も使えます。 コードページとその数値に関する詳細な情報は、Microsoft のドキュメントを参照ください。
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top