PHP4中使用COM (Windows)--簡介

 
簡介
  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>打開對象編輯器。輸入一個方法或屬性的名稱,選擇一個成員後選擇幫助即可得到該成員的描述。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章