PHP4中使用COMWindows--简介
程序员文章站
2024-01-13 23:02:58
...
简介
PHP4内置的COM函数对于在win32环境下编程的人们确实有吸引力。目前关于这方面的文档并不多。这篇文章将用3个例子(MS office 2000, Excel, Adobe Distiller)来解释怎样在PHP4里用COM编程。微软用不同的名称开发COM技术已经有多年了。在这篇文章里OLE, OLE自动化, ActiveX和COM都是一回事:用一段封装的代码来为一个windows应用实现一些函数。PHP4的COM建立与对象的连接(实例化对象)然后用其中的方法和属性。
如果你想重新开发这些例子,以下是我的配置:
Windows 98 - MS Office 2000
Apache 1.3.9 Windows
PHP4.02 Dev (08-20-00) Running as CGI
PHP4里的COM标记
让我们从PHP4里的COM函数开始。要实例化一个控件,需要一个“new”操作符和对象的“OLE标识符”:
COM是PHP4保留的一个类名称,它把$identifier传给构造函数。 我们现在有了一个实例化的控件,可以用OOP技术很方便的引用它的方法和属性。例如:
[Object]->[method1]->[method2]->..->[property]; ?>
就是这么简单!
如果不能这样引用的话(有时当属性的名称或值中含有点或括号等特殊字符时会引起PHP语法错误),PHP4 COM还提供了两个函数:
bool com_set(class com_object, string property name, string property_value);
mixed com_get(class com_object, string property_name);
?>
最后,PHP4也支持DCOM,可以建立一个远程计算机上对象的实例。
$Instance = new COM(string "Component name", string "remote_server_address");
?>
以上就是所有的函数,没有其它函数需要记住了!
注意:PHP可能将来支持在Unix上使用DCOM。
标识符,方法和属性
标识符是类似下面的字符串:
MS Word: "Word.Application" 或 "Word.Application.9"
MS Excel: "Excel.Application" 或 "Excel.Sheet"
ADOBE Acrobat: "Exch.application" 或 "PdfDistiller.PdfDistiller"
就象最后一个标识符表明的,并不是所有的对象的名称都是显而易见的。如果你没有VBA的文档,你可以查看注册表的HKEY_CLASSES_ROOT文件夹:在扩展名列表的下面你可以看到应用程序的名称,有CLSID子文件夹的就是可用的COM标识符。
应用程序应该提供有关COM的方法和属性的文档。例如在Office 2000中,打开程序,用快捷键打开VB编辑器然后用打开对象编辑器。输入一个方法或属性的名称,选择一个成员后选择帮助即可得到该成员的描述。你也可以访问MSDN。一个Excel的例子是:http://msdn.microsoft.com/library/officedev/off2000/xltocobjectmodelapplication.htm
译自:http://www.phpbuilder.com/columns/alain20001003.php3
PHP4内置的COM函数对于在win32环境下编程的人们确实有吸引力。目前关于这方面的文档并不多。这篇文章将用3个例子(MS office 2000, Excel, Adobe Distiller)来解释怎样在PHP4里用COM编程。微软用不同的名称开发COM技术已经有多年了。在这篇文章里OLE, OLE自动化, ActiveX和COM都是一回事:用一段封装的代码来为一个windows应用实现一些函数。PHP4的COM建立与对象的连接(实例化对象)然后用其中的方法和属性。
如果你想重新开发这些例子,以下是我的配置:
Windows 98 - MS Office 2000
Apache 1.3.9 Windows
PHP4.02 Dev (08-20-00) Running as CGI
PHP4里的COM标记
让我们从PHP4里的COM函数开始。要实例化一个控件,需要一个“new”操作符和对象的“OLE标识符”:
COM是PHP4保留的一个类名称,它把$identifier传给构造函数。 我们现在有了一个实例化的控件,可以用OOP技术很方便的引用它的方法和属性。例如:
[Object]->[method1]->[method2]->..->[property]; ?>
就是这么简单!
如果不能这样引用的话(有时当属性的名称或值中含有点或括号等特殊字符时会引起PHP语法错误),PHP4 COM还提供了两个函数:
bool com_set(class com_object, string property name, string property_value);
mixed com_get(class com_object, string property_name);
?>
最后,PHP4也支持DCOM,可以建立一个远程计算机上对象的实例。
$Instance = new COM(string "Component name", string "remote_server_address");
?>
以上就是所有的函数,没有其它函数需要记住了!
注意:PHP可能将来支持在Unix上使用DCOM。
标识符,方法和属性
标识符是类似下面的字符串:
MS Word: "Word.Application" 或 "Word.Application.9"
MS Excel: "Excel.Application" 或 "Excel.Sheet"
ADOBE Acrobat: "Exch.application" 或 "PdfDistiller.PdfDistiller"
就象最后一个标识符表明的,并不是所有的对象的名称都是显而易见的。如果你没有VBA的文档,你可以查看注册表的HKEY_CLASSES_ROOT文件夹:在扩展名列表的下面你可以看到应用程序的名称,有CLSID子文件夹的就是可用的COM标识符。
应用程序应该提供有关COM的方法和属性的文档。例如在Office 2000中,打开程序,用快捷键打开VB编辑器然后用
译自:http://www.phpbuilder.com/columns/alain20001003.php3