COM 是 Component Object Model
的缩写;它是 DCE RPC(一个开放标准)之上的面向对象的层(以及相关服务),它定义了一种通用的调用约定,使用任何语言编写的代码能够调用和与使用任何其他语言编写的代码互操作(只要这些语言都支持 COM)。代码不仅可以使用任何语言编写,甚至不必是同一个可执行文件的一部分;代码可以从 DLL 加载,也可以在同一台机器上运行的另一个进程中找到,或者,使用 DCOM(分布式 COM),可以在远程机器上的另一个进程中找到,所有这些都无需您的代码知道组件驻留在哪里。
COM 的一个子集被称为 OLE 自动化,它包含一组允许与 COM 对象进行松散绑定的 COM 接口,这样就可以在运行时对它们进行内省和调用,而无需在编译时了解对象的工作原理。PHP COM 扩展利用 OLE 自动化接口,允许您从脚本中创建和调用兼容的对象。从技术上讲,这实际上应该被称为 "PHP 的 OLE 自动化扩展
",因为并非所有 COM 对象都与 OLE 兼容。
那么,为什么要或应该使用 COM 呢?COM 是将应用程序和组件粘合在一起在 Windows 平台上的主要方式之一;使用 COM,您可以启动 Microsoft Word,填写一个文档模板,将结果保存为 Word 文档并将其发送到您网站的访问者。您还可以使用 COM 对您的网络执行管理任务,并配置您的 IIS;这些只是最常见的用途;您可以使用 COM 做更多的事情。
此外,我们支持使用 Microsoft 提供的 COM 互操作层来实例化和创建 .Net 程序集。