COM (акроним от Component Object Model
) — это объектно-ориентированный слой
(и связанные с ним сервисы), базирующийся на DCE RPC (открытый стандарт), который определяет
общие соглашения, позволяющие коду, написанному на любом языке вызывать
и взаимодействовать с кодом, написанным на любом другом языке (при условии, что эти языки
являются COM-ориентированными). Не только код может быть написан на любом языке, но даже
нет необходимости, чтобы он был частью одного и того же исполняемого файла: код может быть загружен
из библиотеки DLL, может быть найден в другом процессе на одном и том же компьютере или,
с помощью DCOM (Distributed COM), может быть найден в другом процессе на удалённой машине, и все это
без необходимости вашему коду знать где находится компонент.
Подмножество COM, известное как OLE Automation, включает набор
COM-интерфейсов, которые позволяют осуществлять лёгкое связывание COM-объектов, также любой
объект можно проанализировать и вызывать во время работы без знания о деталях его работы
на этапе компиляции. PHP-модуль COM использует интерфейсы OLE Automation,
позволяющие вам создавать и вызывать совместимые объекты из ваших скриптов.
Говоря техническим языком, это следовало бы назвать «Модуль OLE Automation для PHP
»,
так как не все COM-объекты являются OLE-совместимыми.
Теперь, почему вам следует использовать COM? COM — один из основных способов склеить вместе приложения и компоненты на платформе Windows. Используя COM, вы можете запустить Microsoft Word, заполнить шаблон документа и сохранить результаты как документ Word, и затем отправить посетителю вашего веб-сайта. Вы также можете использовать COM для выполнения задач администрирования для вашей сети и конфигурирования вашего IIS-сервера. Это только обычные применения, с COM вы сможете больше.
Дополнительно модуль поддерживает создание экземпляра класса и создание .NET-сборок, используя слой взаимодействия с COM, предоставляемый Microsoft.