COM および .Net (Windows)目次
com クラスはじめにcom クラスにより、OLE 互換の COM オブジェクトのインスタンスを作成し、 そのメソッドをコールしたりそのプロパティにアクセスしたりすることが 可能となります。 クラス概要
com
extends
variant
/* メソッド */
public com::__construct(
string $module_name ,arraystringnull $server_name = null ,int $codepage = CP_ACP ,string $typelib = "") Overloaded Methods返されるオブジェクトは、オーバーロードされたものです。つまり、 PHP 側では通常のクラスのメソッドは見えないということです。 その代わりに、プロパティやメソッドへのアクセスは COM を通じて行います。 参照渡しのパラメータを受け付けるメソッドを PHP が 自動検出するようになりました。それらのメソッドについては、PHP が自動的に 変数を参照渡し形式に変換します。つまり、メソッドのコールをより自然に 行えるということです。コードの中で特別な処理をする必要はありません。 com の例
例1 com の例 (1)
<?php
例2 com の例 (2)
<?php dotnet クラスはじめにdotnet クラスにより、 クラスやメソッドが » COM に見えている場合、 .Net アセンブリからクラスを生成して そのメソッドをコールしたりプロパティにアクセスしたりできるようになります。
staticクラス をインスタンス化したり、staticメソッド を呼び出すことはサポートされていません。
.Net クラスによっては、IDispatch を実装していないものがあります。 それらはインスタンス化はできるものの、メソッドをコールしたり プロパティへアクセスすることをサポートしていません。
クラス概要
dotnet
extends
variant
/* メソッド */
public dotnet::__construct(string
$assembly_name , string $datatype_name , int $codepage = CP_ACP )オーバーロードされたメソッド返されるオブジェクトはオーバーロードされています。つまり、通常の クラスのような固定されたメソッドは存在しないということです。 そのかわりに、プロパティやメソッドへのアクセスは COM を通じて DOTNET に渡されます。言い換えれば、.Net ランタイムが提供する COM相互運用レイヤによって .Net オブジェクトが COM 連携用にマップされているという ことです。 dotnet オブジェクトが作成されると、PHP はそれを他の COM オブジェクトと同等のものとして扱い、同様の規則が適用されます。 dotnet の例
例1 dotnet の例
<?php variant クラスはじめにVARIANT は、PHP の zval と同等の COM の値です。構造体形式になっており、 異なる型の値を含めることが可能です。COM 拡張モジュールが提供する variant クラスによって、PHP と COM の間のデータの受け渡しを制御できるように なります。 クラス概要
variant
/* メソッド */
public __construct(mixed
$value = null , int $type = VT_EMPTY , int $codepage = CP_ACP )variant の例
例1 variant の例
<?php
variant_get_type も参照ください。 COMPersistHelper クラスはじめにCOMPersistHelper クラスは、 php.ini の open_basedir ディレクティブと ストリーム リソース を考慮して COM と PHP の相互運用性を高めます。 クラス概要
final
COMPersistHelper
/* メソッド */
public __construct(variantnull
$variant = null )public stringfalse GetCurFileName()
public int GetMaxStreamSize()
public bool InitNew()
public bool LoadFromFile(string
$filename , int $flags = 0)public bool LoadFromStream(resource
$stream )public bool SaveToFile(stringnull
$filename , bool $remember = true )public bool SaveToStream(resource
$stream )com_exception クラスはじめに
クラス概要
final
com_exception
extends
Exception
/* 継承したプロパティ */
protected
string
$message = "";
private
string
$string = "";
protected
int
$code;
protected
string
$file = "";
protected
int
$line;
private
array
$trace = [];
private
Throwablenull
$previous = null;
/* 継承したメソッド */
public __construct(string
$message = "", int $code = 0, Throwablenull $previous = null )final public string getMessage()
final public Throwablenull getPrevious()
final public int getCode()
final public string getFile()
final public int getLine()
final public array getTrace()
final public string getTraceAsString()
public string __toString()
private void __clone()
com_safearray_proxy クラスはじめにcom_safearray_proxy は、 SafeArray 型上での多次元配列へのアクセスを解決するのに使われる内部クラスです。 クラス概要
final
com_safearray_proxy
|