(PHP 4 >= 4.1.0, PHP 5, PHP 7)
はじめに
dotnet クラスにより、 クラスやメソッドが » COM に見えている場合、 .Net アセンブリからクラスを生成して そのメソッドをコールしたりプロパティにアクセスしたりできるようになります。
staticクラス をインスタンス化したり、staticメソッド を呼び出すことはサポートされていません。
.Net クラスによっては、IDispatch を実装していないものがあります。 それらはインスタンス化はできるものの、メソッドを呼び出したり プロパティへのアクセスをサポートしていません。
注意:
この機能を利用するには、Webサーバに .Netランタイムをインストールする必要があります。
注意:
dotnet クラスは.Net framework 4.0 以降をサポートしていません。 アセンブリが regasm.exe によって登録されている場合は、 それらのクラスは com オブジェクトを通じてインスタンス化できます。
クラス概要
dotnet extends variant {
public __construct
( string $assembly_name
, string $datatype_name
[, int $codepage
= CP_ACP
] )
}
オーバーロードされたメソッド
返されるオブジェクトはオーバーロードされています。つまり、通常の クラスのような固定されたメソッドは存在しないということです。 そのかわりに、プロパティやメソッドへのアクセスは COM を通じて DOTNET に渡されます。言い換えれば、.Net ランタイムが提供する COM相互運用レイヤによって .Net オブジェクトが COM 連携用にマップされているという ことです。
dotnet オブジェクトが作成されると、PHP はそれを他の COM オブジェクトと同等のものとして扱い、同様の規則が適用されます。
dotnet の例
例1 dotnet の例
<?php$stack = new dotnet("mscorlib", "System.Collections.Stack");$stack->Push(".Net");$stack->Push("Hello ");echo $stack->Pop() . $stack->Pop();?>
目次
- dotnet::__construct — dotnet クラスのコンストラクタ
/* メソッド */