Класс dotnet

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

Введение

Класс dotnet позволяет создавать объекты из сборок .Net, вызывать их методы и использовать их свойства, если класс, методы и свойства » видимы для COM.

Ни создание экземпляров статических классов, ни вызов статических методов не поддерживаются. Создание экземпляров универсальных классов, таких как System.Collections.Generic.List, также не поддерживается.

Некоторые классы в .Net не реализуют IDispatch, поэтому, хотя их объекты можно создавать, вызов методов или доступ к свойствам этих классов не поддерживается.

Замечание:

Вам нужно установить библиотеки времени исполнения .Net на ваш веб-сервер, чтобы воспользоваться этой функцией.

Замечание:

До PHP 8.0.0 .Net framework 4.0 и более поздние версии не поддерживаются классом dotnet. Однако если сборки были зарегистрированы с помощью regasm.exe, классы могут быть созданы как объекты com. Начиная с PHP 8.0.0, .Net framework 4.0 и более поздние версии поддерживаются с помощью директивы php.ini com.dotnet_version.

Обзор классов

class dotnet extends variant {
/* Методы */
public __construct(string $assembly_name, string $datatype_name, int $codepage = CP_ACP)
}

Перегруженные методы

Возвращаемый объект является перегруженным, то есть PHP не видит каких-либо фиксированных методов, как это происходит с обычными классами; вместо этого свойства и доступ к методам передаётся через COM, а оттуда в DOTNET. Другими словами, объект .Net отображается через уровень взаимодействия COM, предоставляемый библиотекой времени исполнения .Net.

Как только вы создали объект dotnet, PHP обрабатывает его идентично любому другому объекту COM; применяются все те же правила.

Примеры dotnet

Пример #1 Пример использования dotnet

<?php
$stack
= new dotnet("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Привет ");
echo
$stack->Pop() . $stack->Pop();
?>

Содержание