PHP Handbuch
Zurück |  | Weiter

# 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 kann 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.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

# Laufzeit Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der `php.ini` beeinflusst.

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 sind nur definiert, 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)

`VARCMP_LT` (integer)

`VARCMP_EQ` (integer)

`VARCMP_GT` (integer)

`VARCMP_NULL` (integer)

`NORM_IGNORECASE` (integer)

`NORM_IGNORENONSPACE` (integer)

`NORM_IGNORESYMBOLS` (integer)

`NORM_IGNOREWIDTH` (integer)

`NORM_IGNOREKANATYPE` (integer)

`NORM_IGNOREKASHIDA` (integer)

`DISP_E_DIVBYZERO` (integer)

`DISP_E_OVERFLOW` (integer)

`MK_E_UNAVAILABLE` (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 | Weiter
ccvs_void | Nach oben | com