A classe dotnet
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
Introdução
A classe dotnet permite instanciar uma classe a partir de uma montagem .Net, chamar seus métodos e acessar suas propriedades, se a classe, os métodos e as propriedades estiverem » visíveis para o COM.
Não há suporte para instanciar classes estáticas nem chamar métodos estáticos.
A instanciação de classes genéricas como System.Collections.Generic.List
também não é suportada.
Algumas classes .Net não implementam IDispatch, portanto, embora possam ser instanciadas, não há suporte para chamar métodos ou acessar propriedades nessas classes.
Note:
É necessário instalar o .Net Runtime no servidor web para utilizar esse recurso.
Note:
Antes do PHP 8.0.0, o .Net Framework 4.0 e posteriores não eram suportados pela classe dotnet. Se os assemblies tivessem sido registrados com regasm.exe, as classes poderiam ser instanciadas como objetos com. A partir do PHP 8.0.0, o .Net Framework 4.0 e posteriores são suportados através da diretiva com.dotnet_version do php.ini.
Resumo da classe
Métodos sobrecarregados
O objeto retornado é um objeto sobrecarregado, o que significa que o PHP não vê nenhum método fixo como acontece com as classes normais; em vez disso, qualquer acesso a propriedade ou método é passado para o COM e de lá para o DOTNET. Em outras palavras, o objeto .Net é mapeado por meio da camada de interoperabilidade COM fornecida pelo .Net Runtime.
Depois de criar um objeto dotnet, o PHP o trata de forma idêntica a qualquer outro objeto COM; todas as mesmas regras se aplicam.
Exemplos de dotnet
Example #1 Exemplo dotnet
<?php
$stack = new dotnet("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Olá ");
echo $stack->Pop() . $stack->Pop();
?>
Table of Contents
- dotnet::__construct — Construtor da classe dotnet