此篇章與框架技術無關绢陌,為課外讀物挨下,感興趣的可以略讀一下。
5.2.1 寫在前面的話
記得曾經有一位大主教在自己的墓志銘上寫道:
“小時候脐湾,我發(fā)誓要改變整個世界臭笆;
大些了,我努力改變我的祖國秤掌;
后來愁铺,我想我能改變我居住的這個城市;
直到臨死之前才發(fā)現闻鉴,我只能改變自己茵乱,從而影響他人,乃至影響整個世界”孟岛。
當然瓶竭,我沒有想過要去影響整個世界,我只想盡我自己的所學渠羞,為自己斤贰,為他人做一些有用的事情。
正如次询,最近在thephp.cc站點上面看到的這樣一張PPT:
我不一定能記住這位國際出名的前輩的名字荧恍,但我記住了他的這句話:
Driven by his passion tohelpdevelopersbuildbetter software.
5.2.2 然而,要布道屯吊,先要踐道送巡。
所以摹菠,當我希望把PhalApi框架開源出去時,我這個框架應該是初步完善并可以應用于實際項目開發(fā)的授艰,至少我已經切身用過它來進行后臺接口項目開發(fā)并不斷優(yōu)化重構之辨嗽。
5.2.3 最初框架源于畢業(yè)論文的需要
當年,在進行畢業(yè)論文的項目開發(fā)時淮腾,因為需要用到后臺接口糟需。于是乎,便到圖書館和網上查閱整理了很多資料谷朝,知識理論包括RESTFull洲押、phprpc、SOAP協(xié)議圆凰、Aamzon接口服務杈帐、WSDL、Web Service等等专钉。
然而挑童,在實際中我卻發(fā)現很多人在用PHP開發(fā)接口是很簡單的髓考,或者說是很粗爆的淘捡,如直接使用fopen()函數進行獲取接口結果。并且朽肥,當我需要去尋找一個可以進行后臺接口開發(fā)的框架時菇民,居然沒找到很好框架支持尽楔。基于此第练,最初的接口框架就在這樣的背景和研究下出來了阔馋。
附一下當前畢業(yè)論文的相關資料:
PhalApi前世: 畢業(yè)論文答辯匯報 - 精簡版.ppt
PhalApiu前世:畢業(yè)論文 - 暗夜在火星 - 修改版.pdf
PhalApi前世文檔:zenWS3完全開發(fā)手冊 - 初稿 - 20130317.pdf
可以在附件下載上面的資料。
5.2.4 最初框架的首次商用和實站
在畢業(yè)后就職的第一家公司中娇掏,由于也有接口開發(fā)的需要呕寝,正好是管理后臺 內部系統(tǒng)調用,所以在征得領導同意后婴梧,我將我畢業(yè)論文所研發(fā)的接口框架進行了部署和開發(fā)下梢。首次投入了商業(yè)用途。^_^
并同時整理出了初步的接口框架志秃,也就是PhalApi的前世怔球。
5.2.5 PhalApi的前世
最初的框架命名是:zenphpWS3。
原因是zen表示開源浮还、php表示用PHP開發(fā)竟坛、WS表示Web Service、3表示支持SOAP/HTTP/RPC三種協(xié)議以及JSON/XML/ARRAY等多種格式的返回。
更多可以訪問我之前的博客:zenphpWS3:文檔&示例&設計&源碼
5.2.6 又一年的全職接口開發(fā)和開源框架學習
曾經有一年担汤,我負責某個大型游戲項目的后臺接口開發(fā)涎跨,同時提供接口供安卓版、iOS版和PC使用崭歧,對后臺接口的開發(fā)有了更多的實戰(zhàn)經驗隅很。
并且,在對很多國外優(yōu)秀的開源框架的學習和研究后率碾,有了很多的領會叔营,如我個人最為推薦的Phalcon。Phalcon不僅僅在框架方面做得非常優(yōu)秀所宰,在文檔編寫方面也是不遺余力的绒尊,即使我們不用這個框架,也能從這個框架的文檔上吸引很多有用的思想仔粥。
才發(fā)現最初提供的接口框架還有很多不成熟的地方婴谱。。躯泰。
5.2.7 PhalApi框架開源的前奏
到后來谭羔,在越來越多項目開發(fā)的需要下,出于仍然沒有很好的接口框架支持(這里補充說明一下:一搜索“php接口開發(fā)框架”沒有好的結果麦向;二所接觸到的框架雖然有支持接口開發(fā)瘟裸,但只是其中一部分)。更為重要的是磕蛇,項目往往又是如此重要景描,很擔憂所選的框架進行接口開發(fā)后遇到問題不知如果在底層修正十办。
所以秀撇,還是用回了自己的接口開發(fā)框架。
當然向族,在做項目接口開發(fā)的同時呵燕,我也有意識地在對接口框架進行完善和重構,并融入框架所需要的特性件相、原則和模式再扭。如可重用、IoC夜矗、5條設計原則泛范、組件等。
至此紊撕,PhalApi接口框架也就慢慢地明朗了罢荡。接下來就是:
5.2.8 PhalApi正式走向開源
如今,很多大的企業(yè)都提供了開放平臺,如騰訊開放平臺区赵、新浪微博開放平臺惭缰、優(yōu)酷開放平臺等。與此相比笼才,雖然小應用輕量級App項目的后臺接口沒有這么大的規(guī)模漱受,但也是很有量級上的需求的,正如下面這張圖所展示的骡送。
在此大背景下昂羡,顯然會有更多的應用需要后臺接口的支撐,需要進行后臺接口的開發(fā)摔踱,乃至對海量數據和訪問的支持紧憾、快速擴容升級、一鍵發(fā)布昌渤、多端支持等赴穗。即使這樣,PHP開發(fā)人員在接口開發(fā)時膀息,仍然會顯得有點“隨心所欲”般眉,缺少規(guī)范和統(tǒng)一,更為重要的是仍然沒有發(fā)現好的PHP接口開發(fā)框架潜支。
古云此日足可惜甸赃,吾輩更應惜秒陰。
所以冗酿,此框架通過我多個實際項目應用后埠对,在不斷整理重構、精益迭代下走向了開源裁替。^_^
希望對你們有所幫助项玛,謝謝。
我們通過這個框架弱判,希望可以(正如文檔里面所說的):
一來襟沮,支撐輕量級項目后臺接口的快速開發(fā);
二來昌腰,闡明如何進行接口開發(fā)开伏、設計和維護,以很好支持海量訪問遭商、大數據固灵、向前向后兼容等;
三來劫流,順便分享一些好的思想巫玻、技巧和有用的工具暑认、最佳實踐。
其中大审,第一點是直接的也是最表面的蘸际,即你通過這個接口框架就可以快速開發(fā)了;第二點是更通用的接口開發(fā)中的一些好的或者必要的技術支撐和策略徒扶;第三點是面向框架級別的粮彤,即使你不用這個接口框架,也可以設計研發(fā)自己的開發(fā)框架姜骡,同時也是突破接口開發(fā)导坟、超越PHP語言的。
書不盡言圈澈,歡迎多交流惫周,再次謝謝!