dotnet La clase dotnet
En esta página
Introducción#
La clase dotnet permite instanciar una clase desde un ensamblado .NET y llamar y acceder a sus propiedades, si la clase y los métodos y las propiedades son visible para COM.
Ni la instanciación de clases estáticas ni la llamada de métodos estáticos es soportada. La instanciación de clases genéricas como System.Collections.Generic.List tampoco está soportada.
Algunas clases .Net no implementan IDispatch, por lo que aunque pueden ser instanciadas, llamar a métodos o acceder a propiedades en estas clases no es soportado.
[!NOTE] Se debe instalar el motor de ejecución .Net en el servidor web para aprovechar esta funcionalidad.
[!NOTE] Anterior a PHP 8.0.0, el framework .Net 4.0 y versiones posteriores no son soportados por la clase
dotnet. Si los ensamblados han sido registrados conregasm.exe, las clases pueden ser instanciadas como objetoscom, sin embargo. A partir de PHP 8.0.0, el framework .Net 4.0 y las versiones posteriores son soportados a través de la directivaphp.inicom.dotnet_version.
Sinopsis de la clase#
dotnet
extends
variant
Métodos
Métodos sobrecargados#
El objeto devuelto es un objeto sobrecargado, lo que significa que PHP no ve los métodos fijados como lo hace con las clases normales; en su lugar, todo acceso a propiedades o métodos se pasa a través de COM y desde allí a DOTNET. En otras palabras, el objeto .Net se mapea a través de la capa de interoperabilidad COM proporcionada por el motor de ejecución .Net.
Una vez que se ha creado un objeto dotnet, PHP lo trata de la misma manera que cualquier otro objeto COM; se aplican las mismas reglas.
Ejemplos dotnet#
Ejemplo dotnet
<?php
$stack = new dotnet("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
?>