COM
PHP Manual

Introducción

COM es un acrónimo de Component Object Model (Modelo de Objetos de Componentes); es una capa orientada a objetos (y servicios asociados) sobre DCE RPC (un estándar abierto) y define una convención de llamada común que habilita al código escrito en cualquier lenguaje para llamar e interoperar con código escrito en cualquier otro lenguaje (siempre que esos lenguajes sean concernientes a COM). No sólo puede el código ser escrito en cualquier lenguaje, sino que incluso tampoco necesita ser parte del mismo ejecutable; el código se puede cargar desde una DLL, encontrarse en otro proceso en ejecución en la misma máquina, o, con DCOM (COM Distribuido), encontrarse en otro proceso en ejecución en una máquina remota, todo sin que incluso su código necesite conocer dónde reside un componente.

Existe un subconjunto de COM, conocido como OLE Automation, que comprende un conjunto de interfaces COM que permiten la vinculación libre de objetos COM, por lo que pueden ser examinados internamente y llamados en tiempo de ejecución sin tener conocimiento de cómo funcionan los objetos en tiempo de compilación. La extensión COM de PHP utiliza las interfaces de OLE Automation para permitirle crear y llamar objetos compatibles desde sus scripts. Técnicamente hablando, esta extensión debería llamarse la "Extensión de OLE Automation para PHP", ya que no todos los objetos COM son compatibles con OLE.

Ahora, ¿por qué debería usar u usaría COM? COM es una de las principales formas de casar aplicaciones y componentes en la plataforma Windows; al usar COM se puede lanzar Microsoft Word, rellenar una plantilla de documento y guardar el resultado com un documento de Word y enviarlo a un visitante de su página web. También se puede usar COM para realizar tareas administrativas en su red y configurar IIS; estos son lo usos más comunes; puede hacer mucho más con COM.

Desde PHP 5, esta extensión (y su documentación) fue rescrita desde cero y mucho de su código confuso y de mala calidad ha sido eliminado. Además, se soporta la instanciación y creación de ensamblados .Net usando la capa de interoperabilidad de COM proporcionada por Microsoft.

Por favor, lea » este artículo para una vista general de los cambios de esta extensión en PHP 5.


COM
PHP Manual