PHP沒有中間件,導(dǎo)致了對(duì)很多麻煩。比如,對(duì)數(shù)據(jù)庫的操作必須要鏈接數(shù)據(jù)庫,然后做SQL操作。WEB程序直接操作數(shù)據(jù)庫的方法,這樣會(huì)帶來很多 人為因素的事故隱患,以及管理上的麻煩,尤其是對(duì)大型的網(wǎng)站應(yīng)用來說。規(guī)范的模式應(yīng)該是,WEB程序傳遞參數(shù)到一個(gè)服務(wù)程序上,由該服務(wù)程序進(jìn)行判斷并最 終操作數(shù)據(jù)庫或者其它數(shù)據(jù)文件,這樣做到了明確權(quán)限控制,和業(yè)務(wù)類型集中管理。去年伴隨著ICE的推出,PHP終于有了可以使用的中間件。在PHP的發(fā)展 史上,應(yīng)該是一個(gè)里程碑。
一、什么是中間件?
中間件是一種可復(fù)用軟件。中間件在操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫之上,應(yīng)用軟件的下層,總的作用是為處于自己上層的應(yīng)用軟件提供運(yùn)行與開發(fā)的環(huán)境,幫助用戶靈 活、高效地開發(fā)和集成復(fù)雜的應(yīng)用軟件。
在中間件發(fā)展史上,有三款相當(dāng)成功的中間件。RPC(Remote process call 遠(yuǎn)程過程調(diào)用),是SUN公司首推,目前在Solaris、Linux、BSD等操作系統(tǒng)下都屬于在Kernel級(jí)支持的軟件,支持TCP、UDP、 UNIX-Socket等多種網(wǎng)絡(luò)協(xié)議,大名鼎鼎的NFS就是依靠RPC開發(fā)而成的。WINRPC,是微軟的產(chǎn)品,應(yīng)該說是仿造RPC,網(wǎng)絡(luò)鄰居就是在 WINRPC的基礎(chǔ)上開發(fā)的。另外一個(gè)是Corba,典型的商業(yè)軟件中間件,具有更大的靈活性和易用性。很遺憾,幾乎所有的中間件都缺乏對(duì)PHP的支持。
所謂的支持,是沒有相對(duì)于這種語言的Lib支持,但可以通過C編寫PHP Extension完成。
中間件工作模式基本上都是:用戶Clinet邏輯功能快—>中間件Clinet模塊 —-網(wǎng)絡(luò)—–> 中間件Server模塊—–>用戶Server邏輯功能塊。由此可見中間件完成了最繁雜的部分,在使用中間件的時(shí)候,開發(fā)者只需要專注于業(yè)務(wù) 功能邏輯的實(shí)現(xiàn)就可以了,大大縮短了開發(fā)時(shí)間。
二、ICE與PHP
ICE(Internet Communications Engine 網(wǎng)絡(luò)通訊引擎),是由Corba原核心成員開發(fā)的一個(gè)開源中間件,據(jù)稱其各種性能完全優(yōu)于Corba。除此之外,我們第一次見到了直接支持PHP的中間 件。
ICE的安裝,去http://www.zeroc.com/download.html 下載一個(gè)Ice針對(duì)PHP的安裝包,按照說明安裝上。
ICE的使用:使用Slice(ICE的一種簡(jiǎn)單語法腳本),編寫一個(gè)xx.ice文件。可以使用slice2cpp或slice2java等生成一個(gè) cpp或java的ICE框架程序,然后在這個(gè)框架程序中進(jìn)行代碼編寫。ICE在PHP的應(yīng)用繼承了PHP的一貫傳統(tǒng)——簡(jiǎn)單,只需要在php.ini中 加載該xx.ice,在PHP中就可以使用了。
ICE在PHP應(yīng)用中的缺點(diǎn),無法使用PHP編寫Server端,其實(shí)這也是PHP的一個(gè)缺陷——沒有完善的多進(jìn)程和多線程管理機(jī)制。因此,Server 端可以采用ICE所支持的其它語言進(jìn)行編寫,比如JAVA/C++/VB/PYTHON等。
三、ICE為PHP帶來的突破,快速實(shí)現(xiàn)類似.Net/Java等Web程序與其它服務(wù)程序的通訊功能,從而PHP可以應(yīng)對(duì)更加復(fù)雜的應(yīng)用程序框 架。
感謝大家的閱讀,希望大家受益良多。
本文轉(zhuǎn)自:https://blog.csdn.net/wxl1986622/article/details/7069453
更多教程:《php教程》
網(wǎng)站名稱:PHP的中間件
網(wǎng)站鏈接:http://www.rwnh.cn/article20/cggoco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、關(guān)鍵詞優(yōu)化、微信公眾號(hào)、靜態(tài)網(wǎng)站、軟件開發(fā)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)