# The dotnet class

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

## Introduction

The dotnet class allows you to instantiate a class from a .Net assembly and call its methods and access its properties, if the class and the methods and properties are » visible to COM.

Neither instantiating static classes nor calling static methods is supported.

Some .Net classes do not implement IDispatch, so while they can be instantiated, calling methods or accessing properties on these classes is not supported.

> Note:

> You need to install the .Net runtime on your web server to take advantage of this feature.

> Note:

> .Net framework 4.0 and later are not supported by the dotnet class. If assemblies have been registered with regasm.exe, the classes can be instantiated as com objects, though.

## Class synopsis

dotnet extends variant {
/* Methods */
__construct ( string `$assembly_name` , string `$class_name` [, int `$codepage` = CP_ACP ] )
}

## Overloaded Methods

The returned object is an overloaded object, which means that PHP does not see any fixed methods as it does with regular classes; instead, any property or method accesses are passed through to COM and from there to DOTNET. In other words, the .Net object is mapped through the COM interoperability layer provided by the .Net runtime.

Once you have created a dotnet object, PHP treats it identically to any other COM object; all the same rules apply.

## dotnet examples

Example #1 dotnet example

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

## Table of Contents

- dotnet::__construct — dotnet class constructor