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