Manuel PHP
Précédent |  | Suivant

# VIII. Support COM pour Windows

# Introduction

COM est une technologie qui permet la réutilisation de code écrit dans n'importe quel langage, en utilisant une convention d'appel standardisée, et un masquage des détails d'implémentations derrière des API (tels que le nom de la machine de stockage, ou le programme d'exécution). Elle peut être considérée comme un super mécanisme d'appel distant (Remote Procedure Call, RPC), avec des racines orientées objets. COM sépare l'implémentation de l'interface.

COM encourage le versionnage, la séparation de l'implémentation et de l'interface, et le masquage des détails d'implémentation, tels que le programme d'exécution ou le langage de programmation.

# Pré-requis

Les fonctions COM sont uniquement disponibles sur les versions Windows de PHP. Elles ont été ajoutées à partir de PHP 4.0.

# Installation

Il n'y pas d'installation nécessaire pour utiliser ces fonctions, elles font parties du coeur de PHP.

La version Windows de `PHP` dispose du support automatique de cette extension. Vous n'avez pas à ajouter de librairie supplémentaire pour disposer de ces fonctions.

# Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier `php.ini`.

Tableau 1. Options de configuration de Com

Nom | Défaut | Modifiable
--- | --- | ---
com.allow_dcom | "0" | PHP_INI_SYSTEM
com.autoregister_typelib | "0" | PHP_INI_SYSTEM
com.autoregister_verbose | "0" | PHP_INI_SYSTEM
com.autoregister_casesensitive | "1" | PHP_INI_SYSTEM
com.typelib_file | "" | PHP_INI_SYSTEM

Pour plus de détails et d'informations sur les constantes PHP_INI_*, voir ini_set().

# Constantes prédefinies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

`CLSCTX_INPROC_SERVER` (entier)

`CLSCTX_INPROC_HANDLER` (entier)

`CLSCTX_LOCAL_SERVER` (entier)

`CLSCTX_REMOTE_SERVER` (entier)

`CLSCTX_SERVER` (entier)

`CLSCTX_ALL` (entier)

`VT_NULL` (entier)

`VT_EMPTY` (entier)

`VT_UI1` (entier)

`VT_I2` (entier)

`VT_I4` (entier)

`VT_R4` (entier)

`VT_R8` (entier)

`VT_BOOL` (entier)

`VT_ERROR` (entier)

`VT_CY` (entier)

`VT_DATE` (entier)

`VT_BSTR` (entier)

`VT_DECIMAL` (entier)

`VT_UNKNOWN` (entier)

`VT_DISPATCH` (entier)

`VT_VARIANT` (entier)

`VT_I1` (entier)

`VT_UI2` (entier)

`VT_UI4` (entier)

`VT_INT` (entier)

`VT_UINT` (entier)

`VT_ARRAY` (entier)

`VT_BYREF` (entier)

`CP_ACP` (entier)

`CP_MACCP` (entier)

`CP_OEMCP` (entier)

`CP_UTF7` (entier)

`CP_UTF8` (entier)

`CP_SYMBOL` (entier)

`CP_THREAD_ACP` (entier)

`VARCMP_LT` (entier)

`VARCMP_EQ` (entier)

`VARCMP_GT` (entier)

`VARCMP_NULL` (entier)

`NORM_IGNORECASE` (entier)

`NORM_IGNORENONSPACE` (entier)

`NORM_IGNORESYMBOLS` (entier)

`NORM_IGNOREWIDTH` (entier)

`NORM_IGNOREKANATYPE` (entier)

`NORM_IGNOREKASHIDA` (entier)

`DISP_E_DIVBYZERO` (entier)

`DISP_E_OVERFLOW` (entier)

`MK_E_UNAVAILABLE` (entier)

# Voir aussi

Pour plus d'informations sur les objets COM, lisez les spécifications COM ou bien jetez un oeil au livre de Don Box (en anglais) : Yet Another COM Library (YACL).

Précédent | Sommaire | Suivant
ccvs_void | Niveau supérieur | COM