PHP4中使用COM(Windows)--简介
时间:2007-02-17 来源:PHP爱好者
简介
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标识符”:
<?php $instance = new COM("$identifier"); ?>
COM是PHP4保留的一个类名称,它把$identifier传给构造函数。 我们现在有了一个实例化的控件,可以用OOP技术很方便的引用它的方法和属性。例如:
<?php $instance->[Object]->[method1]->[method2]->..->[property]; ?>
就是这么简单!
如果不能这样引用的话(有时当属性的名称或值中含有点或括号等特殊字符时会引起PHP语法错误),PHP4 COM还提供了两个函数:
<?php
bool com_set(class com_object, string property name, string property_value);
mixed com_get(class com_object, string property_name);
?>
最后,PHP4也支持DCOM,可以建立一个远程计算机上对象的实例。
<?php
$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中,打开程序,用快捷键<ALT+F11>打开VB编辑器然后用<F2>打开对象编辑器。输入一个方法或属性的名称,选择一个成员后选择帮助即可得到该成员的描述。你也可以访问MSDN。一个Excel的例子是:http://msdn.microsoft.com/library/officedev/off2000/xltocobjectmodelapplication.htm
译自:http://www.phpbuilder.com/columns/alain20001003.php3
php爱好者 站 http://www.phpfans.net 网页制作|网站建设|数据采集.
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标识符”:
<?php $instance = new COM("$identifier"); ?>
COM是PHP4保留的一个类名称,它把$identifier传给构造函数。 我们现在有了一个实例化的控件,可以用OOP技术很方便的引用它的方法和属性。例如:
<?php $instance->[Object]->[method1]->[method2]->..->[property]; ?>
就是这么简单!
如果不能这样引用的话(有时当属性的名称或值中含有点或括号等特殊字符时会引起PHP语法错误),PHP4 COM还提供了两个函数:
<?php
bool com_set(class com_object, string property name, string property_value);
mixed com_get(class com_object, string property_name);
?>
最后,PHP4也支持DCOM,可以建立一个远程计算机上对象的实例。
<?php
$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中,打开程序,用快捷键<ALT+F11>打开VB编辑器然后用<F2>打开对象编辑器。输入一个方法或属性的名称,选择一个成员后选择帮助即可得到该成员的描述。你也可以访问MSDN。一个Excel的例子是:http://msdn.microsoft.com/library/officedev/off2000/xltocobjectmodelapplication.htm
译自:http://www.phpbuilder.com/columns/alain20001003.php3
php爱好者 站 http://www.phpfans.net 网页制作|网站建设|数据采集.
相关阅读 更多 +