# La classe dotnet

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

## Introduction

La classe dotnet vous autorise à instancier une classe depuis un ensemble .NET et d'appeler et accéder à ses propriétés, si la classe et les méthodes et les propriétés sont » visible pour COM.

Ni l'instantiation de classes static ni l'appel de méthodes statique est supporté. L'instanciation de classes génériques telles que `System.Collections.Generic.List` n'est pas non plus prise en charge.

Quelque classes .Net n'implémente pas IDispatch, donc bien qu'elles peuvent être instancié, appeller des méthodes ou accéder aux propriétés sur ces classes n'est pas supporté.

> Note:

> Vous devez installer le moteur d'exécution .Net sur votre serveur web pour tirer avantage de cette fonctionnalité.

> Note:

> Antérieur à PHP 8.0.0, le framework .Net 4.0 et ultérieurs ne sont pas supporté par la classe dotnet. Si des assemblages ont été régistré avec regasm.exe, les classes peuvent être instanciées en tant qu'objets com, cependant. À partir de PHP 8.0.0, le framework .Net 4.0 et les versions ultérieures sont supportés via la directive php.ini com.dotnet_version.

## Synopsis de la classe

class dotnet extends variant {
/* Méthodes */
public __construct(string `$assembly_name`, string `$datatype_name`, int `$codepage` = `CP_ACP`)
}

## Méthodes surchargées

L'objet retourné est un objet surchargé, ceci signifie que PHP ne voit pas les méthodes fixé comme il le fait avec les classes normales ; à la place tout accès de propriété ou méthode sont passés à travers COM et à partir de là à DOTNET. Dans d'autres mots, l'objet .Net est mappé via la couche d'interopérabilité COM fournie par le moteur d'exécution .Net.

Une fois que vous avez crée un objet dotnet, PHP le traite de façon identique à n'importe quel autre objet COM ; les mêmes règles s'appliquent.

## Exemples dotnet

Exemple #1 Exemple dotnet

`<?php
$stack = new dotnet("mscorlib", "System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
?>`

## Sommaire

- dotnet::__construct — Constructeur de la classe dotnet