PHP沒有中間件,導致了對很多麻煩。例如,對資料庫的操作必須要連結資料庫,然後做SQL操作。 WEB程式直接操作資料庫的方法,這樣會帶來許多 人為因素的事故隱患,以及管理上的麻煩,尤其是對大型的網站應用來說。規範的模式應該是,WEB程式傳遞參數到一個服務程序上,由該服務程序進行判斷並最 終操作資料庫或者其它資料文件,這樣做到了明確權限控制,和業務類型集中管理。去年伴隨著ICE的推出,PHP終於有了可以使用的中間件。在PHP的發展 史上,應該是個里程碑。
一、什麼是中間件?
中間件是一種可重複使用軟體。中間件在作業系統、網路和資料庫之上,應用軟體的下層,總的作用是為處於自己上層的應用軟體提供運行與開發的環境,幫助用戶靈 活、高效地開發和集成複雜的應用軟體。
在中間件發展史上,有三款相當成功的中間件。 RPC(Remote process call 遠端過程呼叫),是SUN公司首推,目前在Solaris、Linux、BSD等作業系統下都屬於在Kernel級支援的軟體,支援TCP、UDP、 UNIX-Socket等多種網路協議,大名鼎鼎的NFS就是靠RPC開發而成的。 WINRPC,是微軟的產品,應該說是仿造RPC,網路鄰居就是在 WINRPC的基礎上開發的。另外一個是Corba,典型的商業軟體中間件,具有更大的靈活性和易用性。很遺憾,幾乎所有的中間件都缺乏對PHP的支持。 所謂的支持,是沒有相對於這種語言的Lib支持,但可以透過C編寫PHP Extension完成。
中間件工作模式基本上都是:使用者Clinet邏輯功能快—>中間件Clinet模組 —-網路—–> 中間件Server模組—–>使用者Server邏輯功能塊。由此可見中間件完成了最繁雜的部分,在使用中間件的時候,開發者只需要專注於業務 功能邏輯的實現就可以了,大大縮短了開發時間。
二、ICE與PHP
ICE(Internet Communications Engine 網路通訊引擎),是由Corba原核心成員開發的一個開源中間件,據稱其各種效能完全優於Corba。除此之外,我們第一次見到了直接支撐PHP的中間 件。
ICE的安裝,到http://www.zeroc.com/download.html 下載一個Ice針對PHP的安裝包,依照指示安裝。
ICE的使用:使用Slice(ICE的一種簡單語法腳本),編寫一個xx.ice檔案。可以使用slice2cpp或slice2java等產生一個 cpp或java的ICE框架程序,然後在這個框架程式中進行程式碼編寫。 ICE在PHP的應用繼承了PHP的一貫傳統-簡單,只需要在php.ini 載入該xx.ice,在PHP中就可以使用了。
ICE在PHP應用的缺點,無法使用PHP來寫Server端,其實這也是PHP的缺陷──沒有完善的多進程與多執行緒管理機制。因此,Server 端可以採用ICE所支援的其它語言進行編寫,例如JAVA/C /VB/PYTHON等。
三、ICE為PHP帶來的突破,快速實現類似.Net/Java等Web程式與其它服務程式的通訊功能,從而PHP可以應對更複雜的應用程式框 架。
感謝大家的閱讀,希望大家能受益良多。
更多教學:《php教學》
#以上是PHP的中間件是什麼?有什麼作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!