PHP Handbuch
Zurück |  | Nach vorne

# VIII. COM Support Funktionen für Windows

# Einführung

Das Component Object Model (COM) ist eine Technologie, welche die Wiederverwendung von Code erlaubt, egal in welcher Sprache dieser geschrieben wurde. Die Komponenten stellen Schnittstellen bereit, welche die verfügbaren Funktionen, aber nicht deren Implementierung bekanntgeben (z.B. auf welcher Maschine die Komponente gespeichert ist und die Executable, die sie enthält). Anwendungen können über die COM-API beliebige Schnittstellen erzeugen. Man sich das wie einen super Remote Procedure Call (RPC) Mechanismus mit einigen grundlegenden Objekten vorstellen. Es trennt die Implementation von der Schnittstelle.

COM unterstützt Versioning, die Trennung von Implementation und Schnittstelle, sowie das Verstecken von Implementierungsdetails, wie z.B. Position der Executable und die Sprache, in welcher die Komponente geschrieben wurde.

# Anforderungen

Die COM Funktionen sind nur in der Windowsversion von PHP verfügbar.

# Installation

Für diese Funktionen ist keine Installation erforderlich, diese gehören zum Grundbestand von PHP.

# Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird von Einstellungen in der `php.ini` bestimmt.

Tabelle 1. Com Konfigurationsoptionen

Name | Standardwert | Änderbar
--- | --- | ---
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

Weitere Details und Definitionen der PHP_INI_* Konstanten finden Sie bei der Funktion ini_set().

# Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

`CLSCTX_INPROC_SERVER` (integer)

`CLSCTX_INPROC_HANDLER` (integer)

`CLSCTX_LOCAL_SERVER` (integer)

`CLSCTX_REMOTE_SERVER` (integer)

`CLSCTX_SERVER` (integer)

`CLSCTX_ALL` (integer)

`VT_NULL` (integer)

`VT_EMPTY` (integer)

`VT_UI1` (integer)

`VT_I2` (integer)

`VT_I4` (integer)

`VT_R4` (integer)

`VT_R8` (integer)

`VT_BOOL` (integer)

`VT_ERROR` (integer)

`VT_CY` (integer)

`VT_DATE` (integer)

`VT_BSTR` (integer)

`VT_DECIMAL` (integer)

`VT_UNKNOWN` (integer)

`VT_DISPATCH` (integer)

`VT_VARIANT` (integer)

`VT_I1` (integer)

`VT_UI2` (integer)

`VT_UI4` (integer)

`VT_INT` (integer)

`VT_UINT` (integer)

`VT_ARRAY` (integer)

`VT_BYREF` (integer)

`CP_ACP` (integer)

`CP_MACCP` (integer)

`CP_OEMCP` (integer)

`CP_UTF7` (integer)

`CP_UTF8` (integer)

`CP_SYMBOL` (integer)

`CP_THREAD_ACP` (integer)

# Siehe auch

Weitere Informationen zu COM finden Sie in der COM specification, oder in Don Box's Yet Another COM Library (YACL).

Zurück | Zum Anfang | Nach vorne
ccvs_void | Nach oben | com