com::__construct
com クラスのコンストラクタ
説明
public com::__construct(
string $module_name
,
arraystringnull $server_name
= null
,
int $codepage
= CP_ACP
,
string $typelib
= ""
)
パラメータ
-
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 のドキュメントを参照ください。