Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16501746
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:11:14

下载本文示例代码
  介绍   内置于PHP4里的COM函数对于我们在win32环境下开发程序是相当有吸引力的,但是至今仍没有多少相关的技术文档。本文将以三个例子分别处理 MS office 2000 Word 、 Excel 、 Adobe Distiller 来说明如何在PHP中使用COM函数。   COM技术是由Microsoft在几年前提出并开发的,本文中提到的相关名词有OLE, OLE Automation,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 程序标识": $instance = new COM("$identifier"); ?>  因为COM是一个PHP4的保留字,它传送这个对象的标识给一个构造函数,现在得到了这个组件的一个实例,根据OOP类的性质,我们可以很容易地访问它的方法与属性。   例如: $instance->[Object]->[method1]->[method2]->..->[property]; ?>   就是这么简单!   OOP的结构在PHP下不能工作,(由于PHP语法的问题,属性的名字.值是非法字符,如点和圆括号等),所以PHP4提供了两个相应的函数: 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"); ?>   注意:这是用DCOM指令来设置PHP。在将来,PHP开发者提供Unix下对DCOM的支持。   标识、方法和属性   标识是一个如下的字串: MS Word: "Word.Application" or "Word.Application.9" MS Excel: "Excel.Application" or "Excel.Sheet" ADOBE Acrobat: "Exch.application" or "PdfDistiller.PdfDistiller"   对于最后一个标识,我要指明的是,获得正确的对象标识名不是一件容易的事。如果你不能访问VBA文档,你可以查找一下windows的注册表,在 HKEY_CLASSES_ROOT 中寻找一下,你就可以得到一些应用程序的名字。在你的机器上有效的对象标识放在 CLSID 子文件夹下。   应用程序一般会提供文档说明它的COM方法和属性。在office2000中,你可以运行程序,打开VBA编辑器 ,选择对象编辑器。输入应用程序库中的一个方法名或属性名,然后,在下面的窗口中用鼠标右键选择一个类或成员名称,点帮助,你就会得到关于这个类或成员的描述。你也可以参考 MSDN。一个 Excel 的例子如下: http://msdn.microsoft.com/library/officedev/off2000/xltocobjectmodelapplication.htm 共2页。 1 2 :   介绍   内置于PHP4里的COM函数对于我们在win32环境下开发程序是相当有吸引力的,但是至今仍没有多少相关的技术文档。本文将以三个例子分别处理 MS office 2000 Word 、 Excel 、 Adobe Distiller 来说明如何在PHP中使用COM函数。   COM技术是由Microsoft在几年前提出并开发的,本文中提到的相关名词有OLE, OLE Automation,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 程序标识": $instance = new COM("$identifier"); ?>  因为COM是一个PHP4的保留字,它传送这个对象的标识给一个构造函数,现在得到了这个组件的一个实例,根据OOP类的性质,我们可以很容易地访问它的方法与属性。   例如: $instance->[Object]->[method1]->[method2]->..->[property]; ?>   就是这么简单!   OOP的结构在PHP下不能工作,(由于PHP语法的问题,属性的名字.值是非法字符,如点和圆括号等),所以PHP4提供了两个相应的函数: 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"); ?>   注意:这是用DCOM指令来设置PHP。在将来,PHP开发者提供Unix下对DCOM的支持。   标识、方法和属性   标识是一个如下的字串: MS Word: "Word.Application" or "Word.Application.9" MS Excel: "Excel.Application" or "Excel.Sheet" ADOBE Acrobat: "Exch.application" or "PdfDistiller.PdfDistiller"   对于最后一个标识,我要指明的是,获得正确的对象标识名不是一件容易的事。如果你不能访问VBA文档,你可以查找一下windows的注册表,在 HKEY_CLASSES_ROOT 中寻找一下,你就可以得到一些应用程序的名字。在你的机器上有效的对象标识放在 CLSID 子文件夹下。   应用程序一般会提供文档说明它的COM方法和属性。在office2000中,你可以运行程序,打开VBA编辑器 ,选择对象编辑器。输入应用程序库中的一个方法名或属性名,然后,在下面的窗口中用鼠标右键选择一个类或成员名称,点帮助,你就会得到关于这个类或成员的描述。你也可以参考 MSDN。一个 Excel 的例子如下: http://msdn.microsoft.com/library/officedev/off2000/xltocobjectmodelapplication.htm 共2页。 1 2 : 下载本文示例代码


PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨PHP4中的COM函数探讨
阅读(113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~