COM 是一种允许(用任何语言编写的)可重用代码使用标准常规调用,同时将执行细节隐藏在 API 之后的技术,例如组件存储在某台机器上,同时可对机器执行内务处理。它可以被认为是一种带基础根对象的超级远程呼叫调用(Remote Procedure Call,RPC)机制。它将执行从接口中分离出来。
COM 促使执行从接口中分离,同时隐藏了执行细节,例如执行的位置和编写代码使用的语言。
COM 函数仅可用于 PHP 的 Windows 版本。
这些函数的行为受到全局配置文件 php.ini 的影响。
表格 1. COM 配置选项
名称 | 默认值 | 作用范围 |
---|---|---|
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 |
由于这些常量是由该扩展模块定义的,因此只有在该扩展模块被编译到 PHP 中,或者在运行时被动态加载后,这些常量才有效。
更多关于 COM 的信息请阅读 COM specification 或有可能的话看一看 Don Box 的 Yet Another COM Library (YACL)