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