php開發(fā)的企業(yè)級應(yīng)用與phpsoap擴(kuò)展_第1頁
php開發(fā)的企業(yè)級應(yīng)用與phpsoap擴(kuò)展_第2頁
php開發(fā)的企業(yè)級應(yīng)用與phpsoap擴(kuò)展_第3頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、PHP開發(fā)的企業(yè)級應(yīng)用與PHP SOAP擴(kuò)展六年開發(fā)經(jīng)驗者談PHP對于 PHP,很多朋友抱怨發(fā)展問題,能力問題。還有自己以后的發(fā)展及薪水問題。還有一些口吻就是PHP 不行,不適合大型架構(gòu)等等。快下班了,作為一個開發(fā)PHP 已經(jīng) 6 年多了老鳥,在這里隨意說上幾句。希望能對那些剛剛?cè)腴T的PHPER 有些幫助。首先任何語言的能力關(guān)鍵在于自己的技術(shù)能力。否則給你一架波音飛機(jī),你不會開,那它都不如自行車跑的快。作為PHP 程序員應(yīng)該從思想上認(rèn)識到這是值得驕傲的事情。因為你已經(jīng)進(jìn)入了FREE 的領(lǐng)域。從技術(shù)角度講做 JAVA 程序員也是驕傲的事情; 而作 ASP 呢。如果也能很好的開發(fā) COM 組件也是

2、很強(qiáng)的程序員。其實并不在于語言,而在于人。PHP 是門檻低,但是有幾個人摸到了它的天花板呢?學(xué)習(xí) PHP 基本功很重要。最好有數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)經(jīng)歷。對于 1,2 年的新手來說。在 2 年必須完全掌握 smarty+pear+adodb+xml+ajax 工具類必須熟練掌握 zend studio 的開發(fā)。 數(shù)據(jù)庫必須熟練掌握 mysql & sqlserver 操作系統(tǒng)必須對 liunx 有一定的了解。并能配置環(huán)境。 對 apache也應(yīng)該買本管理員手冊好好看看。以上為 2 年,必須掌握的容第三年,如果沒有 .NET 或者 JAVA 類的開發(fā)經(jīng)驗,請需要補(bǔ)補(bǔ)了。因為 .NET 和 JAV

3、A 的思想比 PHP 要成熟的多,同樣學(xué)習(xí) SQLSERVER也是為了提高 mysql 的使用水平。數(shù)據(jù)庫可不是簡單的建表查詢就可以了。所以我建義第三年的時候, 多補(bǔ)充思想及數(shù)據(jù)庫方面的容。 但是這并不意味前 2 年就不看。我的意思是第三年更趨于此。 因為在這個時候,你對 PHP 的很多基礎(chǔ)部分已經(jīng)了然于胸了,然后需要一個整體的提高,而不是很片面的提升。這個時候,你就要考慮架構(gòu)問題了。第四年,當(dāng)你部署一個大型項目的是否。 負(fù)載及文件分布還有安全,等等部署方面的問題接踵而來。 這個時候你要去努力理解什么是 file server 集群,什么是 web server集群 什么是 database

4、集群等等。然后這些對你編碼又有什么提高的要求等等。第五年。嘗試努力學(xué)習(xí)C 及 C+這個時候你將對棧還有指針還有存有一個更深刻的了解。PHP 企業(yè)級應(yīng)用的幾個應(yīng)用CMS(容管理系統(tǒng) )和 BBS(論壇)中采用PHP 開發(fā)的軟件最多。企業(yè)級應(yīng)用的CMS 系統(tǒng)如CMSWare, BBS 如 Discuz! 和PHPWind,CRM(客戶資源管理)如C3CRM。 CMSware 容管理系統(tǒng)號稱是最自由的應(yīng)用構(gòu)建平臺,能生成靜態(tài)頁面,其通行證系統(tǒng)讓架構(gòu)者可以自由的擴(kuò)展的會員應(yīng)用模式,全面整合上各式各樣的應(yīng)用在現(xiàn)在的 WEB 服務(wù)開發(fā)語言陣營中, ASP、PHP、JSP和 ASP.Net 最為常見。 AS

5、P 安全性較差有目共睹,不能跨平臺; ASP.Net、JSP實施難度大,成本高,多在大型項目中使用,且 ASP.Net 也不能跨平臺; PHP 安全性好,可伸縮性強(qiáng),支持多種數(shù)據(jù)庫,去年前推出的5.0版本,更是大大縮短了項目開發(fā)周期,關(guān)鍵是Linux+Apache+PHP+MySQL 這種組合,成本很低,適合中小企業(yè)。在國,ChinaRen 社區(qū)首次在商業(yè)化項目中使用PHP 這種開發(fā)語言。短短幾年,國PHP應(yīng)用迅速蔓延開來,基于PHP語言的各種WEB應(yīng)用軟件數(shù)量日漸增多。CMS(容管理系統(tǒng) )和 BBS(論壇)中采用 PHP 開發(fā)的軟件最多。企業(yè)級應(yīng)用的CMS 系統(tǒng)如 CMSWare(.cms

6、ware.),BBS 如 Discuz!和 PHPWind,CRM (客戶資源管理)如 C3CRM (.c3crm.)。CMSware 容管理系統(tǒng)號稱是最自由的應(yīng)用構(gòu)建平臺,能生成靜態(tài)頁面 ,其通行證系統(tǒng)讓架構(gòu)者可以自由的擴(kuò)展的會員應(yīng)用模式,全面整合上各式各樣的應(yīng)用。提起 Discuz!和 PHPWind,可謂大名鼎鼎,站長們皆知。 Discuz! 2006 年元旦宣布 Discuz! 論壇免費(fèi),在沉默了一段時間之后, PHPWind跟進(jìn),宣布論壇免費(fèi)。C3CRM 是一款基于 SugarCRM 開發(fā)的適合中國中小企業(yè)應(yīng)用的CRM 軟件,開源、免費(fèi)。其功能和綜合性能之高,甚至超過了一些高價的 C

7、RM 系統(tǒng)。近日, C3CRM 還被選為 SugarForge 2006年 5 月最佳項目。整合、雙贏CMS 軟 件開發(fā)企業(yè)傾向于給用戶提供一個整體解決方案,給用戶提供類似一條龍的應(yīng)用相關(guān)產(chǎn)品及配套服務(wù),而且這種服務(wù)要根據(jù)用戶需求長期保持著更新與變化。用 戶的需求千變?nèi)f化,除了容管理之外,論壇社區(qū)建設(shè)、 商城系統(tǒng)和緊跟其后的客戶資源管理等等不是一個軟件開發(fā)企業(yè)在短時間之就能開發(fā)出來的,這還沒有把 同類型軟件的競爭問題考慮進(jìn)去。在這種情況下, 除了加大開發(fā)力度, 整體提高自己產(chǎn)品的性能之外,整合、與合作伙伴雙贏成為中小軟件開發(fā)企業(yè)自然而然的選擇。與其相適應(yīng),上述的幾家軟件開發(fā) 商從去年開始,陸續(xù)

8、改變了各自的市場策略和服務(wù)策略, 一方面在各自的領(lǐng)域和市場定位、 目標(biāo)上銳意開拓,另一方面,大家進(jìn)行橫向聯(lián)合,從技術(shù)上和市場營銷上 進(jìn)行合作。進(jìn)入 2006 年,這種合作活動更為明顯。ShopEx 在網(wǎng)上商店系統(tǒng)領(lǐng)域一枝獨(dú)秀,在整合與合作中也表現(xiàn)得也最為活躍。 除了捆綁數(shù)十個支付網(wǎng)關(guān)之外,在去年,就與 Discuz!論壇整合,二者無縫。2006 年伊始,與 CMS 和 CRM 等相關(guān)廠商進(jìn)行合作也列到日程上來。據(jù)悉, CMSWare 將 在現(xiàn)有產(chǎn)品的基礎(chǔ)上大量集中改造易用性,推出一款新產(chǎn)品,其面對的對象是幾乎沒有技術(shù)能力而且靈活自定義要求不很高的的中小企業(yè)或個人用戶。另外在今年晚 些時候,將發(fā)

9、布一款動態(tài)應(yīng)用開發(fā)平臺產(chǎn)品, 目前名字尚未定下來, 而這個產(chǎn)品和服務(wù)基本上是提供給對的互動性有要求的專業(yè)行業(yè)用戶或綜合信息的 社區(qū)性用戶。CMSWare 也將在近期發(fā)布針對社區(qū)或?qū)I(yè)站點(diǎn)的企業(yè)級 BLOG 。CMSWare 產(chǎn)品負(fù)責(zé)人對記者表示, CMSWare 的通行證技術(shù)將全面支持 VBB 、DZ、ShopEx 這些成熟的產(chǎn)品。在 ShopEx 宣布免費(fèi)兩天前的記者吹風(fēng)會上,記者也看到了C3CRM 項目負(fù)責(zé)人。服務(wù)是軟件真正的價值回到開頭的話題,盡管有分析人士認(rèn)為, ShopEx 免費(fèi)是為了提高其市場占有率, 但是一個企業(yè), 特別是軟件企業(yè),如果沒有 “家底 ”,是開不起玩笑的。ShopE

10、x 老總裴大鵬對記者說, ShopEx 今后將走技術(shù)服務(wù)和增值服務(wù)的路線,對愿意購買技術(shù)服務(wù)的用戶按年收取服務(wù)費(fèi)。 做出這個決定,是經(jīng)過深思熟慮的。在國中同類軟件, ShopEx 幾乎沒有真正意義上的競爭對手,盡管產(chǎn)品不能滿足 100%用戶的需求,但是 ShopEx 的功能、用戶界面已經(jīng)成了同類軟件模仿的對象、事實上的標(biāo)桿。因為 ShopEx 的用戶都是在這個平臺上進(jìn)行商業(yè)貿(mào)易,所以,多數(shù)用戶贊成免費(fèi),反對開源:商業(yè)用途軟件的使用者更重視安全性,加上經(jīng)過編譯的代碼運(yùn)行效率更高。能讓商業(yè)用戶真正放心的不是軟件本身,而是開發(fā)軟件的企業(yè)。沒有一個團(tuán)隊長期、 穩(wěn)定地提供技術(shù)服務(wù)的軟件很快就會退出市場和

11、應(yīng)用,被同類軟件所替代。軟件已經(jīng)從銷售許可證的世代進(jìn)入出售服務(wù)的世代。 所以,服務(wù)是軟件真正的價值。實際上,用戶購買軟件,真正購買的是軟件背后的服務(wù)。軟件免費(fèi),不是說服務(wù)免費(fèi),國用戶軟件消費(fèi)心理尚未成熟,在國外,這種模式早就深入人心。如果說因為存在競爭, Discuz!等論壇免費(fèi),在國WEB 軟件中是個別現(xiàn)象,但是ShopEx 宣布免費(fèi),表明國這個行業(yè)已經(jīng)開始一場變革, WEB 應(yīng)用軟件市場逐漸成熟起來,以此為標(biāo)志,勢必引爆整個軟件開發(fā)行業(yè)。從做項目開始積累資金,再做產(chǎn)品,以項目養(yǎng)產(chǎn)品,產(chǎn)品成熟之后,市場回報要比單做項目更高。國的PHP 軟件開發(fā)企業(yè)的發(fā)展基本上走的是這條路線。隨著產(chǎn)品的成熟,

12、培養(yǎng)用戶群,當(dāng)用戶群這個基數(shù)越多,想象的空間也越大。PHP SOAP 擴(kuò)展SOAP 的全 稱為簡單 對象訪問 協(xié)議(Simple Object AccessProtocol)。它是一種基于 XML 的,可擴(kuò)展的通信協(xié)議。 SOAP 提供了一種標(biāo)準(zhǔn),使得運(yùn)行在不同平臺上并使用不同的編程語言編寫的應(yīng)用程序可以互相進(jìn)行通信。 SOAP 的可擴(kuò)展性和平臺無關(guān)性使得它被廣泛用作 Web 服務(wù)的通信協(xié)議。由于 Java 語言提供了對SOAP 的良好支持,通?;赪eb 服務(wù)的應(yīng)用程序使用Java 語言編寫。對于廣大的PHP 程序員來說,可能會有一點(diǎn)小小的不滿PHP 的較早版本根本沒有對SOAP 的直接支持

13、,只能通過PEAR(the PHP Extension and ApplicationRepository) 中的SOAP 庫或者第三方產(chǎn)品NuSOAP 來開發(fā)Web服務(wù)。不過最近的版本已經(jīng)改變了這一狀況。自PHP 5開始新增了置的 SOAP 擴(kuò)展 (ext/soap),從此我們不需要下載額外的擴(kuò)展庫或是代碼包來開發(fā)基于SOAP 的應(yīng)用程序了。接下來讓我們來看看SOAP 擴(kuò)展中都有哪些容。PHP 5 中的 SOAP 擴(kuò)展 (ext/soap)PHP 5 最早發(fā)布的版本 5.0.0 中就已經(jīng)提供了 SOAP 擴(kuò)展,不過當(dāng)時的 PHP 手冊中聲明這個擴(kuò)展是試驗性 (experimental) 的。

14、實際上當(dāng)時的版本已經(jīng)實現(xiàn)了比較完善的功能,也沒有必要為此而擔(dān)心。目前這個擴(kuò)展還在不斷地完善,早期版本中的大部分bug 都已經(jīng)得到了修正,目前最新的版本(5.3.0) 中已經(jīng)提供了比較完整的對SOAP 的支持,而且我們有理由相信,以后的版本還會更好。SOAP 擴(kuò)展庫結(jié)構(gòu)ext/soap 中包括六個預(yù)定義的類,通過這些類,我們可以創(chuàng)建Web 服務(wù)端 (SoapServer 類 ) ,客戶端 (SoapClient 類 ) ,處理 SOAP 請求和應(yīng)答 (SoapHeader, SoapParam, SoapVar類 ),診斷錯誤 (SoapFault 類 )。這些類之間的聯(lián)系如圖 1 所示:圖 1

15、. SOAP 擴(kuò)展的結(jié)構(gòu)SOAP 服務(wù)類 SoapServerSoapServer 類用來開發(fā)Web 服務(wù)端應(yīng)用程序。這個類中包含創(chuàng)建,設(shè)置和操縱Web 服務(wù)的函數(shù)。有兩種方式可以向Web 服務(wù)中添加操作(Operation)。一種方式是直接添加已定義的函數(shù),另一種方式是添加已定義好的類,從而將該類的公有成員函數(shù)添加到Web 服務(wù)中。另一個需要說明的特性是,PHP 支持兩種Web 服務(wù)的模式:WSDL 模式和non-WSDL 模式,為了便于理解,我們首先從Web服務(wù)的兩種實現(xiàn)模式開始說起。PHP 中 Web 服務(wù)的兩種模式: WSDL模式和 non-WSDL模式對 于Web 服務(wù)來說,主要有兩

16、種實現(xiàn)模式 契約先行(Contract First)模式和代碼先行(Code Fist) 模式。契約先行模式的實現(xiàn)中, 首要工作是定義針對這個Web服務(wù)的借口的WSDL(Web Services Description Language,Web 服務(wù)描述語言 ) 文件。 WSDL 文件中描述了 Web 服務(wù)的位置,可提供的操作集,以及其他一些屬性。 WSDL 文件也就是 Web 服務(wù)的 “契約 ”?!捌跫s”訂立之后,再據(jù)此進(jìn)行服務(wù)器端和客戶端的應(yīng)用程序開發(fā)。這種模式對應(yīng)上節(jié)所說的 WSDL 模式。我們后文中介紹的例子就是使用這一模式實現(xiàn)的。與契約先行模式不同, 代碼先行模式中,第一步工作是實現(xiàn)

17、 Web 服務(wù)端,然后根據(jù)服務(wù)端的實現(xiàn), 用某種方法(自動生成或手工編寫)生成 WSDL 文件。但是由于 PHP 本身并沒有提供從 Web 服務(wù)實現(xiàn)代碼中生成 WSDL 文件的方法,因此就要以 non-WSDL 模式連接服務(wù)端,即不通過 WSDL 文件創(chuàng)建 SoapServer 和 SoapClient 示例,而是直接向構(gòu)造函數(shù)傳遞必要的參數(shù)。當(dāng)然,代碼先行模式也有其他的解決方法,一些集成的 PHP 開發(fā)工具(如 Zend Studio)就提供了根據(jù) Web 服務(wù)實現(xiàn)代碼生成 WSDL 文件的功能。在 ShopEx 宣布免費(fèi)兩天前的記者吹風(fēng)會上,記者也看到了C3CRM 項目負(fù)責(zé)人。SOAP 客戶端類SoapClientSOAP 客戶端類SoapClient 用于開發(fā)Web 服務(wù)的客戶端程序??捎玫某蓡T函數(shù)主要有創(chuàng)建客戶端實例,調(diào)用可用操作,查詢可用操作和數(shù)據(jù)類型等。除此之外還包括了可用于程序調(diào)試的函數(shù)獲取上次請求和應(yīng)答的SOAP 數(shù)據(jù)。SOAP 參數(shù)類 SoapHeader, SoapParam, SoapVarSoapParam 和 SoapVar 主要用來封裝用于放入 SOAP 請求中的數(shù)據(jù),他們主要在 non-WSDL 模式下使用。事實上,在 WSDL 模式下,SOAP 請求的參數(shù)可以通過數(shù)組方式包裝, SOAP 擴(kuò)展會根據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論