A. php中,哪個框架比較好用是CI,TP,Zend,還是YII
所有框架中最神奇的、開發最迅速的是ruby on rails,號稱比別的框架快4倍,所言非虛,因為rails有自動代碼生成器功能,創建一個模型,自動給你搭好CURD操作。後來的很多框架,包括django(python),lavarel(php),cakephp(php)都是模仿rails,但都不如rails,主要原因在於ruby語言本身的簡潔與優美,讀rails的代碼感覺特別舒服,特別精練,一點不繞(很少有php框架中常見的大段檢測、對比、if判斷代碼),而其它語言的框架都達不到這點
目前最活躍的框架是thinkphp、CI、YII社區也還可以,其餘的社區人氣很差,沒法考慮,尤其是rails,在中國人氣非常之低,配置與啟動需用命令行,win系統不能很好兼容,問題都找不到答案,最終不得不舍棄。
從人氣與文檔詳細上,最終勝出的是tp,ci,YII,ZEND至今連個中文手冊都沒有,直接pass,不管它號稱多麼強大,連個中文社區與文檔都沒有,出了問題還要翻牆看英文,太痛苦了
在TP、YII、CI三者的角逐中,YII同樣有命令行(有命令行的一律減分),有自動生成器功能,但是有個巨大缺點:生成出很多不用的空文件夾,導致文件結構非常混亂,控制器文件、模型文件夾四處都有,不知道哪個跟哪個,而且YII的函數比較碎片化,語法不夠清晰也不好懂,最終PASS
TP是國產的,如果CI給80分,TP也可以給75分,兩者很接近,tp社區人氣很活躍,有什麼問題網路一搜就出來了,開源代碼也非常多,類庫集成度跟CI不相上下,差就差在文件結構上稍遜CI一些,語法易懂性也比CI稍差
B. php寮鍙戝父鐢ㄦ嗘灦鏈夊摢鍑犱釜
php寮鍙戝父鐢ㄦ嗘灦浠嬬粛錛
錛堣嗛戞暀紼嬫帹鑽愶細php瑙嗛戞暀紼嬶級
涓銆乀hinkPHP
ThinkPHP(FCS)鏄涓涓杞婚噺綰х殑涓鍨嬫嗘灦錛屾槸浠嶫ava鐨凷truts緇撴瀯縐繪嶈繃鏉ョ殑涓鏂嘝HP寮鍙戞嗘灦銆傚畠浣跨敤闈㈠悜瀵硅薄鐨勫紑鍙戠粨鏋勫拰MVC妯″紡錛屽苟涓旀ā鎷熷疄鐜頒簡Struts鐨勬爣絳懼簱錛屽悇鏂歸潰閮芥瘮杈冧漢鎬у寲錛岀啛鎮塉2EE鐨勫紑鍙戜漢鍛樼浉瀵規瘮杈冨規槗涓婃墜錛岄傚悎php妗嗘灦鍒濆﹁呫 ThinkPHP鐨勫畻鏃ㄦ槸綆鍖栧紑鍙戙佹彁楂樻晥鐜囥佹槗浜庢墿灞曪紝鍏跺湪瀵規暟鎹搴撶殑鏀鎸佹柟闈㈠凡緇忓寘鎷琈ySQL銆丮SSQL銆丼qlite銆丳gSQL銆 Oracle錛屼互鍙奝DO鐨勬敮鎸併俆hinkPHP鏈夌潃涓板瘜鐨勬枃妗e拰紺轟緥錛屾嗘灦鐨勫吋瀹規ц緝寮猴紝浣嗘槸鍏跺姛鑳芥湁闄愶紝鍥犳ゆ洿閫傚悎鐢ㄤ簬涓灝忛」鐩鐨勫紑鍙戙
浼樼偣錛
1.鍊熷姪鎴愮啛鐨凧ava鎬濇兂
2.鏄撲簬涓婃墜錛屾湁涓板瘜鐨勪腑鏂囨枃妗o紱瀛︿範鎴愭湰浣庯紝紺懼尯媧昏穬搴﹂珮
3.妗嗘灦鐨勫吋瀹規ц緝寮猴紝PHP4鍜孭HP5瀹屽叏鍏煎廣佸畬鍏ㄦ敮鎸乁TF8絳夈
4.閫傚悎鐢ㄤ簬涓灝忛」鐩鐨勫紑鍙
5.浠巘hinkphp3.2.2寮曞叆composer鍖呯$悊宸ュ叿
緙虹偣
1.瀵笰jax鐨勬敮鎸佷笉鏄寰堝ソ錛
2.鐩褰曠粨鏋勬販涔憋紝鐩告瘮鍏朵粬妗嗘灦鐩褰曠粨鏋勮佸樊涓鐐癸紱
3.涓婃墜瀹規槗錛屼絾鏄娣卞叆瀛︿範杈冮毦銆
浜屻乊ii
Yii 鏄涓涓鍩轟簬緇勪歡鐨勯珮鎬ц兘php妗嗘灦錛岀敤浜庡紑鍙戝ぇ鍨媁eb搴旂敤銆俌ii閲囩敤涓ユ牸鐨凮OP緙栧啓錛屽苟鏈夌潃瀹屽杽鐨勫簱寮曠敤浠ュ強鍏ㄩ潰鐨勬暀紼嬨備粠 MVC錛孌AO/ActiveRecord錛寃idgets錛宑aching錛岀瓑綰у紡RBAC錛學eb鏈嶅姟錛屽埌涓婚樺寲錛孖18N鍜孡10N錛孻ii鎻愪緵浜 浠婃棩Web 2.0搴旂敤寮鍙戞墍闇瑕佺殑鍑犱箮涓鍒囧姛鑳姐備簨瀹炰笂錛孻ii鏄鏈鏈夋晥鐜囩殑PHP妗嗘灦涔嬩竴銆
浼樼偣
1.綰疧OP
2.鐢ㄤ簬澶ц勬āWeb搴旂敤
3.妯″瀷浣跨敤鏂逛究
4.寮鍙戦熷害蹇錛岃繍琛岄熷害涔熷揩銆傛ц兘浼樺紓涓斿姛鑳戒赴瀵
5.浣跨敤鍛戒護琛屽伐鍏楓
6.鏀鎸乧omposer鍖呯$悊宸ュ叿
緙虹偣錛
1.瀵筂odel灞傜殑鎸囧煎拰鑰冭檻杈冨皯
2.鏂囨。瀹炰緥杈冨皯
3.鑻辨枃澶澶
4.瑕佹眰PHP鎶鏈綺鵑氾紝OOP緙栫▼瑕佺啛緇冿紒
5.View騫朵笉鏄鐞嗘兂view錛岀悊鎯充腑鐨剉iew鍙鑳藉彧鏄痟tml浠g爜錛屼笉浼氭秹鍙奝HP浠g爜銆
涓夈乴aravel
浼樼偣
1.laravel鐨勮捐℃濇兂鏄寰堝厛榪涚殑錛岄潪甯擱傚悎搴旂敤鍚勭嶅紑鍙戞ā寮廡DD, DDD 鍜孊DD
2.鏀鎸乧omposer鍖呯$悊宸ュ叿
3.闆嗗悎浜唒hp 姣旇緝鏂扮殑鐗規э紝浠ュ強鍚勭嶅悇鏍風殑璁捐℃ā寮忥紝Ioc 瀹瑰櫒錛屼緷璧栨敞鍏ョ瓑銆
緙虹偣
1.鍩轟簬緇勪歡寮忕殑妗嗘灦錛屾墍浠ユ瘮杈冭噧鑲
鍥涖丆odeIgniter
浼樼偣錛
1.Code Igniter鎺ㄥ磭鈥滅畝鍗曞氨鏄緹庘濊繖涓鍘熷垯銆傛病鏈夎姳鍝ㄧ殑璁捐℃ā寮忋佹病鏈夊崕涓界殑瀵硅薄緇撴瀯錛屼竴鍒囬兘鏄閭d箞綆鍗曘傚嚑琛屼唬鐮佸氨鑳藉紑濮嬭繍琛岋紝鍐嶅姞鍑 琛屼唬鐮佸氨鍙浠ヨ繘琛岃緭鍑恆傚彲璋撴槸鈥滃ぇ閬撹嚦綆鈥濈殑鍏歌寖銆
2.閰嶇疆綆鍗曪紝鍏ㄩ儴鐨勯厤緗浣跨敤PHP鑴氭湰鏉ラ厤緗錛屾墽琛屾晥鐜囬珮錛
3.鍏鋒湁鍩烘湰鐨勮礬鐢卞姛鑳斤紝鑳藉熻繘琛屼竴瀹氱▼搴︾殑璺鐢憋紱
4.鍏鋒湁鍒濇ョ殑Layout鍔熻兘錛岃兘澶熷埗浣滀竴瀹氱▼搴︾殑鐣岄潰澶栬傦紱
5.鏁版嵁搴撳眰灝佽呯殑涓嶉敊錛屽叿鏈夊熀鏈鐨凪VC鍔熻兘.
6.蹇閫熺畝媧侊紝浠g爜涓嶅氾紝鎵ц屾ц兘楂橈紝
7.妗嗘灦綆鍗曪紝瀹規槗涓婃墜錛屽︿範鎴愭湰浣庯紝鏂囨。璇︾粏錛
8.鑷甯︿簡寰堝氱畝鍗曞ソ鐢ㄧ殑library錛屾嗘灦閫傚悎灝忓瀷搴旂敤.
緙虹偣錛
1.鏈韜鐨勫疄鐜頒笉澶鐞嗘兂銆
2.鍐呴儴緇撴瀯榪囦簬娣蜂貢錛岃櫧鐒剁畝鍗曟槗鐢錛屼絾緙轟箯鎵╁睍鑳藉姏銆
3.鎶奙odel灞傜畝鍗曠殑鐞嗚В涓烘暟鎹搴撴搷浣.
4.妗嗘灦鐣ユ樉綆鍗曪紝鍙鑳藉熸弧瓚沖皬鍨嬪簲鐢錛岀暐寰涓嶅お鑳藉熸弧瓚充腑鍨嬪簲鐢ㄩ渶瑕.
璇勪環錛
鎬諱綋鏉ヨ達紝鎷緾odeIgniter鏉ュ畬鎴愮畝鍗曞揩閫熺殑搴旂敤榪樻槸鍊煎緱錛屽悓鏃惰兘澶熸瀯閫犱竴瀹氱▼搴︾殑layout錛屼究浜庢ā鏉跨殑澶嶇敤錛屾暟鎹鎿嶄綔灞傛潵璇村皝瑁呯殑涓 閿欙紝騫朵笖CodeIgniter娌℃湁浣跨敤寰堝氬お澶嶆潅鐨勮捐℃ā寮忥紝鎵ц屾ц兘鍜屼唬鐮佸彲璇繪т笂閮戒笉閿欍傝嚦浜庨檮鍔犵殑library 涔熻繕涓嶉敊錛岀畝媧侀珮鏁堛
浜斻乑end Framework
浼樼偣錛
1.澶ч噺搴旂敤浜哖HP5涓闈㈠悜瀵硅薄鐨勬柊鐗瑰緛錛氭帴鍙c佸紓甯搞佹娊璞$被銆丼PL絳夌瓑銆傝繖浜涗笢瑗跨殑搴旂敤璁㈱end Framework鍏鋒湁楂樺害鐨勬ā鍧楀寲鍜岀伒媧繪
2.涓ユ牸閬靛驚鈥滈拡瀵規帴鍙g紪紼嬧濆拰鈥滃崟涓瀵硅薄鑱岃矗鈥濈瓑鍘熷垯
3.瀹樻柟鍑哄搧錛岃嚜甯︿簡闈炲父澶氱殑library錛屾嗘灦鏈韜浣跨敤浜嗗緢澶氳捐℃ā寮忔潵緙栧啓錛屾灦鏋勪笂寰堜紭闆咃紝鎵ц屾晥鐜囦腑絳
4.MVC璁捐★紝姣旇緝綆媧
5.鍏鋒湁璺鐢卞姛鑳斤紝閰嶇疆鏂囦歡姣旇緝寮哄ぇ錛堣兘澶熷勭悊XML鍜宲hp INI)
6.鑳藉熺洿瑙傜殑鏀鎸侀櫎鏁版嵁搴撴搷浣滀箣澶栫殑Model灞傦紙姣 CodeIgniter 鍜 CakePHP 寮猴級錛屽苟涓旇兘澶熷緢杞繪槗鐨勪嬌鐢↙oader鍔熻兘鍔犺澆鍏朵粬鏂板炲姞鐨凜lass
7.Cache鍔熻兘寰堝己澶э紝浠庡墠絝疌ache鍒板悗絝疌ache閮芥敮鎸侊紝鍚庣疌ache鏀鎸丮emcache銆丄PC銆丼QLite銆佹枃浠剁瓑絳夋柟寮
8.鏁版嵁搴撴搷浣滃姛鑳藉緢寮哄ぇ錛屾敮鎸佸悇縐嶉┍鍔錛堥傞厤鍣錛
9.鏂囨。寰堝叏錛屽湪鍥藉唴紺懼尯寰堟垚鐔
緙虹偣錛
1.MVC鍔熻兘瀹屾垚姣旇緝寮憋紝View灞傜畝鍗曞疄鐜幫紙璺熸病瀹炵幇涓鏍鳳級錛屾棤娉曞緢寮哄ぇ鐨勬帶鍒跺墠絝欏甸潰.
2.娌℃湁鑷鍔ㄥ寲鑴氭湰錛屽壋寤轟竴涓搴旂敤錛屽寘鎷鍏ュ彛鏂囦歡錛屽叏閮ㄥ繀欏昏嚜宸辨墜宸ユ瀯寤猴紝鍏ラ棬鎴愭湰楂
3.瀵逛簬綆鍗曞拰灝忓瀷鐨勯」鐩鏉ヨ,鍙嶈屽洜涓哄湪妗嗘灦涓搴旂敤浜嗗ぇ閲忛潰鍚戝硅薄璁捐,瀵瑰紑鍙戣呮彁鍑轟簡鏇撮珮鐨勮佹眰錛岄棿鎺ュ炲姞浜嗛」鐩鐨勫紑鍙戞垚鏈
璇勪環錛
浣滀負瀹樻柟鍑哄搧鐨勬嗘灦錛孼end Framework鐨勯噹蹇冩槸鍙浠ラ勮佺殑錛屾兂鎶婂叾浠栨嗘灦鎸よ蛋錛屽悓鏃跺皝瑁呭緢澶氬己澶х殑綾誨簱錛岃兘澶熸彁渚涗竴絝欏紡鐨勬嗘灦鏈嶅姟錛屽苟涓斾粬浠鐨勫紑鍙戝洟闃熷緢寮哄ぇ錛屽畬鍏ㄨ凍澶熸湁鑳藉姏寮鍙戝緢寮哄ぇ鐨勪駭鍝佸嚭鏉ワ紝鎵浠ュ熀鏈鍙浠ョ『瀹氱殑鏄痁end Framework鍓嶉旀棤閲忥紝濡傛灉鑺辮垂鏇村氱殑鏃墮棿鍘誨畬鍠勬嗘灦銆傚悓鏍風殑錛孼end Framework鏋舵瀯鏈韜涔熸槸姣旇緝浼橀泤鐨勶紝璇存槑Zend瀹樻柟鏄鏈夊緢澶氶珮鎵嬬殑錛岃捐$悊蹇典笂姣旇緝鍏堣繘錛岃櫧鐒舵湁涓浜涘姛鑳藉疄鐜扮殑涓嶅熷畬鍠勶紝姣斿俈iew灞傦紝鑷鍔ㄥ寲鑴氭湰絳夌瓑錛岃繖浜涢兘鏈夎禆浜庢湭鏉ョ殑鍗囩駭
鍏銆丆akePHP
浼樼偣錛
1.鏈綾諱技浜嶳oR鐨勬嗘灦錛屽寘鎷璁捐℃柟寮忥紝鏁版嵁搴撴搷浣滅殑Active Record鏂瑰紡
2.璁捐″眰闈㈠緢浼橀泤錛屾病鏈夎嚜甯﹀氫綑鐨 library錛屾墍鏈夌殑鍔熻兘閮芥槸綰綺圭殑妗嗘灦錛屾墽琛屾晥鐜囪繕涓嶉敊
3.鏁版嵁搴撳眰鐨 hasOne, hasMany鍔熻兘寰堝己澶,瀵逛簬澶嶆潅涓氬姟澶勭悊姣旇緝鍚堥
4.璺鐢卞姛鑳斤紝閰嶇疆鍔熻兘闅懼害閫備腑
5.鑷鍔ㄦ瀯寤鴻剼鎵嬫灦錛坰caffold錛夊緢寮哄ぇ,閫傚悎涓鍨嬪簲鐢
6.鍩烘湰瀹炵幇榪囦簡MVC姣忎竴灞
7.鍏鋒湁鑷鍔ㄦ搷浣滃懡浠よ岃剼鏈鍔熻兘
8.鏂囨。姣旇緝鍏錛屽︿範鎴愭湰涓絳
緙虹偣錛
1.CakePHP闈炲父涓ラ噸鐨勯棶棰樻槸鎶奙odel鐞嗚В涓烘暟鎹搴撳眰鎿嶄綔錛屼弗閲嶅獎鍝嶄簡闄や簡鏁版嵁搴撲箣澶栫殑鎿嶄綔鑳藉姏
2.cache鍔熻兘鐣ユ樉鍚勫急
3.閰嶇疆鍔熻兘紼嶅珜寮
4.涓嶉傚悎澶у瀷搴旂敤錛屽彧閫傚悎涓鍨嬪簲鐢錛屽皬鍨嬪簲鐢ㄦ潵璇寸暐寰鐨勫︿範鎴愭湰楂樹簡鐐.
璇勪環錛
鎬諱綋鏉ヨ碈akePHP妗嗘灦浠h〃浜哖HP妗嗘灦寰堥噸瑕佺殑涓涓鏃朵唬鍜屼唬琛錛屽苟涓旂洰鍓嶅彂鎸ョ潃寰堥噸瑕佺殑浣滅敤錛屼笉灝戣嚜宸卞啓鐨勬嗘灦閮芥ā浠誇簡CakePHP鐨勬柟寮忥紝鏄涓閲岀▼紕戝紡鐨勪駭鍝侊紱CakePHP閫忛湶鐫RoR鐨勬晱鎹峰紑鍙戞柟寮忓拰鎶婃暟鎹搴撴搷浣滆や負鏄鍞涓Model鐨勮捐℃濇兂錛屼綔涓哄紑鍙戝揩閫熷簲鐢ㄥ拰鍘熷瀷鏄緇濆ソ鐨勫伐鍏鳳紱鍚屾牱錛岀敤鏉ュ仛Web2.0緗戠珯鐨勫紑鍙戞嗘灦錛屼篃鏄鍊煎緱閫夋嫨鐨
涓冦丼ymfony
浼樼偣錛
1.瀹屾暣瀹炵幇浜哅VC涓夊眰
2.灝佽呬簡鎵鏈変笢瑗匡紝鍖呮嫭 $POST錛$GET 鏁版嵁錛屽紓甯稿勭悊錛岃皟璇曞姛鑳斤紝鏁版嵁媯嫻
3.鍖呭惈寮哄ぇ鐨勭紦瀛樺姛鑳
4.鑷鍔ㄥ姞杞紺lass,鑳藉熷緢闅忔剰鐨勫畾涔夊悇縐嶈嚜宸辯殑class
5.寮哄ぇ鐨勮璦鏀鎸
6.鍏鋒湁寰堝己澶х殑view灞傛搷浣滐紝鑳藉熼浂紕庣殑鍖呭惈鍗曚釜澶氫釜鏂囦歡
7.闈炲父寮哄ぇ鐨勯厤緗鍔熻兘錛屼嬌鐢▁ml閰嶇疆鑳藉熸帶鍒舵墍鏈夋嗘灦鍜岀▼搴忚繍琛岃屼負
8.鍖呭惈寮哄ぇ鐨勫氬眰綰ч」鐩鍜屽簲鐢ㄧ$悊錛歅roject --> Application --> Mole --> Action錛岃兘澶熸弧瓚充竴涓欏圭洰涓嬪氫釜搴旂敤鐨勯渶瑕侊紝騫朵笖姣忓眰鍙浠ュ畾涔夎嚜宸辯殑綾誨簱錛岄厤緗鏂囦歡錛宭ayout
9.闈炲父寮哄ぇ鐨勫懡浠よ屾搷浣滃姛鑳斤紝鍖呮嫭寤虹珛欏圭洰銆佸緩絝嬪簲鐢ㄣ佸緩絝嬫ā鍧椼佸埛鏂扮紦瀛樼瓑絳
10.Symfony緇濆規槸寮鍙戝ぇ鍨嬪嶆潅欏圭洰鐨勯栭夛紝鍥犱負浣跨敤浜哠ymfony錛屽皢澶уぇ鑺傜害寮鍙戞垚鏈錛屽苟涓斿氫漢鍗忎綔鐨勬椂鍊欙紝涓嶄細鍑虹幇闂棰橈紝鍦≒roject綰у埆瀹氫箟濂藉熀紜Class浠ュ悗錛屼換浣曟ā鍧楅兘鑳藉熼噸鐢錛屽ぇ澶у嶇敤浠g爜.
緙虹偣錛
1.鏈澶х殑闂棰樹篃鍦ㄤ簬浣跨敤浜嗗お澶氶庢牸榪ュ紓鐨勫紑婧愰」鐩鏉ョ粍鍚堟垚妗嗘灦
2.鐢變簬Mojavi鍜孭ropel鏈韜閮界浉褰撳嶆潅錛屽洜姝Symfony鐨勭粨鏋勯潪甯稿嶆潅錛岄毦浠ョ悊瑙e拰瀛︿範
3. 緙撳瓨鍔熻兘鏃犳硶鎺у埗錛屾瘡嬈″紑鍙戣皟璇曟繪槸緙撳瓨錛岄渶瑕佹墽琛 symfony cc,symfony rc鏉ユ竻闄ゅ拰閲嶅緩緙撳瓨
4.鏁堢巼涓嶆槸寰堥珮錛岀壒鍒鏄瑙f瀽妯℃澘鍜岃誨彇閰嶇疆鏂囦歡鐨勮繃紼嬶紝鑺辮垂鏃墮棿涓嶅皯
5.瀛︿範鎴愭湰寰堥珮錛屽苟涓斿浗鍐呮病鏈夋垚鐔熺殑紺懼尯鍜屼腑鏂囨枃妗
璇勪環錛
Symfony緇濆規槸浼佷笟綰х殑妗嗘灦錛屽敮涓鑳藉熻矊浼艱兘澶熻窡Java棰嗗煙鍝浜涘己鎮嶆嗘灦鎶楄鐨勪笢瑗匡紱寮烘倣鐨勪笢瑗匡紝鑷鐒跺︿範澶嶆潅錛屼絾鏄鐩稿簲鐨勫歸」鐩寮鍙戜篃姣旇緝鏈夊府鍔╋紝鑷鐒舵槸鎺ㄨ崘澶嶆潅鐨勯」鐩浣跨敤Symfony鏉ュ勭悊錛岃夊緱鏄鍊煎緱錛屽悗鏈熺殑緇存姢鎴愭湰姣旇緝浣庯紝澶嶇敤鎬у緢寮恆傜浉搴旂殑濡傛灉浣跨敤Symfony鐨勫簲璇ラ兘鏄姣旇緝澶嶆潅鐨勪簰鑱旂綉欏圭洰錛岄偅涔堢浉搴旂殑灝辮佽冭檻鍏充簬鏁版嵁搴撳垎甯冪殑闂棰橈紝閭d箞灝遍渶瑕佹姏寮僑ymfony鑷甯︾殑鏁版嵁搴撴搷浣滃眰錛岄渶瑕佽嚜宸卞畾涔夛紝褰撶劧浜嗭紝Symfony鏀鎸侀殢鎰忕殑鏋勯爉odel灞
鎬昏瘎錛
浠ヤ笂鏁版炬嗘灦錛屽悇鏈夌壒鑹,鑰屼笖閮芥槸寮婧愰」鐩,涓嶈繃妗嗘灦閽堝圭殑欏圭洰涓嶄竴鏍鳳紝涓鑸鏉ヨ達細
1.灝忓瀷欏圭洰錛欳odeIngiter
2.涓鍨嬮」鐩錛欳akePHP銆乑end Framework銆丩aravel銆乀hinkphp
3.澶у瀷閲嶉噺綰ч」鐩錛歒ii銆丼ymfony銆丩aravel
C. PHP框架的PHP開發框架
一直以來php框架被廣泛利用,多半都是基於mvc架構模式的,還有基於事件驅動模式的,大致列舉幾個。ThinkPHP是一個性能卓越並且功能豐富的輕量級PHP開發框架,本身具有很多的原創特性,並且倡導大道至簡,開發由我的開發理念,用最少的代碼完成更多的功能,宗旨就是讓WEB應用開發更簡單、更快速。從1.*版本開始就放棄了對PHP4的兼容,因此整個框架的架構和實現能夠得以更加靈活和簡單。2.0版本更是在之前的基礎上,經過全新的重構和無數次的完善以及改進,達到了一個新的階段,足以達到企業級和門戶級的開發標准。國人開發的PHP框架,目前最新版本為3.2.3版本。
Canphp是一個中國開源的php框架,主要的設計理念就是為了追求簡單,減少php初學者的學習成本,而且追求高效率,模版類不提供其他標簽,直接應用php的源代碼,還有它是微內核設計,移植性強,鬆散耦合等特點,能集成到你任何一個系統裡面。其中集成的http類相當的強大,採集圖片速度相當的快,為什麼這樣呢?因為適用了模擬非同步多進程的原理。
KYPHP是一個中國開源的PHP框架,kyphp嚴格遵守OOP和MVC的理念,具有控制項化、可擴展性強。kyphp設計彎虧理念是自由、簡單。既可以用php源碼編程,也可以使用標簽,支持多語言,多陸鬧鏈資料庫,多皮膚,多模型部署等,為程序員節省更多的時間。
InitPHP是一款輕量級的php開發框架,採用分層體系架構,適合大中型網站架構。提供豐富的library類庫,以及簡單的框架擴展機制。InitPHP還提供詳細的開發文檔,可以讓您在使用該框架的時候更加簡單實用。InitPHP實現了抽象DB層、分層體系架構、緩存無縫切換機制、簡單模板機制、多模型部署機制、強大的安全體系,是您快速開發php應用的利器!
SpeedPHP是一款全功能的國產PHP應用框架系統。她以「快速開發、快速學習、快速運行」為理念,在提高團隊開發效率、容易學習及使用、輕量級架構以增加執行速度等方面有著突出的表現。SpeedPHP框架是從實際運行的商業系統中取其精華而成的,在穩定性和運行速度上都非常出色;同時有著清晰的架構,更有利於提高團隊開發效率,教程眾多,入門容易,號稱最適合初學者的PHP框架,快速帶你進入PHP高手的行列。
CdvPHP一款簡單開源PHP框架,靈感來源於DX,根據實際開發總結匯成快捷方便的輕量級框架。沒有太多的硬性要求,也沒有一本超厚的幫助手冊。快速開發、部署、學習必備利器。KPHP即(kphp開源框架)是為了提高PHP開發效率而研發php開源框架,其核心簡單精煉,代碼安全並易於理解,功能更符合php學習開發的的需要,而且易於學習不改變程序員的開發習慣。ZendFramework在開發社區中有大量的追隨者,它致力於Web2.0風格的程序。因為它眾多的追隨者組成的活躍用戶開發的擴展支持,Zend被稱為「ThePHPCompany」。Zend是一個(也可能不是)今天可用的最受歡迎的PHP開發框架。它有健壯的特徵能夠支持協作開發,它需要一些PHP的額外知識。
Codelgniter以它的簡單易用,性能和速度而聞名。與Symphony不同,這款PHP開發框架對於共享主機的用戶而言很理想,如果你想有一個小型覆蓋面的框架。它提供了簡單的解決方案,還有擴展的知識庫,通過視頻教程,用戶指南和wiki來提供支持。
CakePHP無論對於初學者還是職業PHP開發者都是很好的選擇。它基於與RubyonRails同樣的原則而設計,它十分注重快速開發——這使得它成為一個非常好的用於RAD的開發框架。它快速增長的支持系統,簡潔性和可測量性使得CakePHP成為今天可用的最受歡迎的PHP開發框架之早孫一。
Symfony是為那些更加職業的主要開發企業級程序的開發者而准備的——特別是Askeet和Yahoo!Bookmarks。這款開源PHP開發框架有著豐富的特性,做起這些來綽綽有餘,它主要的缺點是比其他的框架略微慢一些。
Yii是一個基於組件、用於開發大型Web應用的高性能PHP框架。它將Web編程中的可重用性發揮到極致,能夠顯著加速開發進程。Yii(讀作「易」),代表簡單(easy)、高效(efficient)、可擴展(extensible)。
Seagull是一個良好的PHP開發框架,可以用來開發Web,命令行和GUI程序。這是一款無論對初學者還是職業程序員而言都及其簡單的開發框架。對於初學者,Seagull提供一套包含樣常式序的庫,經過簡單修改就能符合你的要求,而對於專家級程序員,Seagull提供了一整套設置選項——包括最佳練習,標準的和模塊化的代碼庫——來快速簡單地構建Web程序。Seagull有一個活躍的用戶社區以及豐富的支持文檔。
Laravel是一套簡潔、優雅的PHPWeb開發框架(PHPWebFramework)。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網路APP,而且每行代碼都可以簡潔、富於表達力。E是一款非常簡潔優秀開源的超輕量級PHP框架,致力於追求簡潔,安全,自由,高效,是中小型項目首選框架。框架構架合理,一鍵生成完全合乎規范的大型網站文件夾架構,網站架構一目瞭然。強大的外部類庫支持,分布式存儲,強大的緩存系統,內置smarty模板引擎,單入口MVC模式,面向對象編程,具有微內核設計,移植性強,鬆散耦合等特點,能集成到你任何一個系統裡面。無論您是一個NewPHPer還是OLDPHPER,那麼E框架是您的首選。學習完E框架後您可以快速並且輕松的駕馭其他框架,步入php高手之列。
DuoLamPHP是一款超輕量級的PHP框架,命名是按照多啦A夢動漫給改成的拼音形式。DP是一個簡單、高效、上手容易的PHP框架,遵循apache開源協議。可以快速搭建出一個項目,作為一個超輕量級的PHP框架,完美支持MVC,完全面向對象。
Difeye框架是一款超輕量級PHP框架,由Kohana框架精簡而來,主要特點有:資料庫連接自動主從讀寫分離配置,適合單機和分布式站點部署;支持Smarty模板機制;支持mysql、nosql類的mongodb等第三方資料庫模塊;完全分離頁面和動作,自動執行Page_Load入口函數,支持二級路由,將頁面模塊和頁面上的動作完全分離,使站點升級遷移更簡單;框架簡單易學容易部署;
GalaxixPhp是一套專業的php建站框架,主要用於讓用戶在網上的建站,開發人員使用用GalaxixPhp可以大大的縮小中型甚至大型網站的開發周期。GalaxixPhp兼容JavaScript,可以無縫地與Javascript,flash,PHP等程序集成,適合構建展示、CMS、商城、論壇、博客、Wiki、等各種網站。並且官網上學習和說明文檔以及視頻教程齊全。是針對專業開發的人員的收費框架。並且官方正在不斷推出更新更實用的框架插件。
PhpPeanuts是一個用以開發資料庫後端應用的PHP框架,包含一個可擴展的動態腳手架用來創建一個完整的web應用,提供用戶界面和ORM,包括CRUD操作、關聯關系以及一些示例查詢。phpPeanuts2.0完全支持PHP5,遵循ESTRICT標准,不再使用變數引用來傳遞對象;提升了靈活性;更獨立的模塊,以及迭代的對象復制等等。
RongFramework是一個國產的基於php5的面向對象開發框架,開發的主要目的是簡化開發、高性能開發。支持資料庫文件緩存、資料庫通用操作及封裝。簡化CRUD代碼編寫。支持在線生成CRUD代碼,只要選中數據表名稱,就可以生成CRUD代碼。不懂編程的人也可以做到。rongframework分為php代碼模板(classRong_View_PHP)和Rong_View_Wudimei(無敵美模板引擎,類似smarty)兩種模板機制。擁有良好的MVC機制和url美化方式、可以在代碼中實現URL重寫(由Rong_Countroller_Route實現)。
OpenbizFramework是為搭建企業應用而設計的PHP的基於面向對象的快速開發框架。它可以幫助專業軟體開發人員和技術咨詢專家來構建用於網路上的企業級應用。OpenbizFramework的設計目標是節省構建復雜應用系統的開發投入和縮短開發時間。藉助於Openbiz的幫助,應用程序的開發將基於完善的MVC架構建立,以Metadata驅動為核心描述業務邏輯,支持多種ORM邏輯,並且有OpenbizAppbuilder作為圖形化集成開發環境的快速開發平台。
D. 當今較為常見的3種 web應用程序開發平台類型
Openbiz Cubi PHP開發框架
這顯然是一個高耦合性的框架的代表,有點讓開發人員「拎包入住」快捷酒店一樣的的感覺。Openbiz Cubi 是一個應用平台式的開發框架。雖然與眾多更加耳熟能詳的框架相比 Openbiz Cubi 仍然是一匹黑馬,但是還是一個十分值得推薦的框架。它自身基於Zend Framework構建,但是擁有自己獨特的基於元數據的 MVC 和 ORM 邏輯,並採用Smarty和PHP模板 作為主要UI的模板引擎,所以如果你是Zend框架的玩家,別擔心,Openbiz Cubi的代碼也會同樣讓你很容易上手。
它不同於其他傳統意義上的PHP框架,它具有一個類似JAVA的元數據引擎, 可以通過XML的方式來「描述」大多數對象,甚至通過XML的描述就可以實現數據的CRUD(增刪讀改)這些操作。如果你的業務需求僅僅是要實現一些簡單 的數據CRUD操作,你甚至不需要去寫什麼PHP代碼,XML就可以全部搞定。而你的PHP功夫可以通過他的Plugin-Service方式用於集中在 實現某些特殊的業務邏輯上。
Openbiz Cubi目 前還有一個叫做 Openbiz Appbuilder 的超級好用的代碼生成工具,對於還不熟Openbiz的XML元數據的開發人員來說,Appbuilder 絕對是一個可以幫助你快速上手的利器,他通過圖形界面的生成向導來幫你自動創建數據對象、表單對象、嵌入式服務,甚至整個應用程序的雛形。 按Openbiz的官方介紹來說,你只需要思考清楚你的應用程序的業務邏輯,剩下的代碼工作就交給Openbiz Appbuilder來幫你搞定吧。
CakePHP 開發框架
如果你仍然需要編寫面向PHP4兼容的代碼,CakePHP 將是一個非常不錯的選擇, 在PHP 4 & 5的MVC式框架列表裡面,CakePHP都曾經是最流行的。它還提供了很多種途徑的技術支持(討論組、留言板、IRC等)還有優秀的教程。 CackePHP是個很容易上手的框架,但是你並不容易在短短幾周的時間就完全掌握它。
Zend Framework框架
Zend Framework 是面對一些較有經驗的開發者和從底層構建一些企業級應用程序而設計的。(例如:宣稱面向企業應用而設計的 Openbiz Cubi 就是基於Zend Framework框架之上而構建的。)該框架是高度模塊化的。這意味著你可以按你的實際需要來引用Zend的代碼。有些函數庫甚至可以很容的被提取出來 單獨使用(例如Zend_Gdata,這也是個低耦合性的特點)使用Zend框架,你不必非要遵從它的MVC架構,(雖然你最好能這么做),並且它還提供 了許多內建的高級功能用於完成與現有的web服務整合,多語言化和實現單元測試這些任務。
CodeIgniter
CodeIgniter 是一個PHP5.2+ 的MVC框架,它體積小巧切具有豐富的文檔資源。通常被稱為「初學者框架」,因為它相對容易試用和較短的學習曲線,此外CodeIgniter也是十分靈 活和強大的。該框架擁有一個非常龐大的社區支持。並且在社區裡面很大桐容易找到大量的CI函數庫,你可以大膽的夢想, 也許你正需要做的事情在社區的某個交流,某個人已經把它實現了。
Symfony
Symfony 是最古老的PHP框架之一(相信你從他的網站風格上也發現這一點了),他同樣也是轉為企業級Web應用程序而設計的。然而,對於他所能提供的所有動力和性 能而言,它只擁有很小的體積並且非常滾帆坦容易配置在大多數php的主機環境中。由於他的年頭最長久,你會很容易找到許多關於Symfony的教程、書記等資 料,對於新手來說,這絕對是件好事兒。
Symfony使用命令行代碼生成工具來為項目快速生成所需的代碼,這種方式也許對於某些開發人員來說是前所未聞的(在那個年頭,也許 吧。。。)然後,他可以幫助你在很短的時間里完成轎段代碼並是他們可以運行。Symfony的網站上手機了大量的教程和範例代碼,來幫助你熟悉掌握他們。
Yii Framework
Yii 是一個高度模塊化,高性能的PHP5框架,專門為了Web應用程序而開發。Yii採用了大量的命令行生成工具,讓你可以快速的生成一些代碼,因此,他最適 合於喜歡在命令行的黑窗口上敲敲打打的人。所有這些代碼生成工具意味著你需要記住更多的命令和參數,但是一點你做到了,你會發現,它們將大大減少你所要花 費的時間來設置和配置你的應用程序。
這種開發方式 非常類似於Openbiz Appbuilder所提供的向導式的代碼生成方式,最大的不同點是Yii是基於命令行去生成代碼,Openbiz Appbuilder是在圖形界面上生成代碼。
ThinkPHP
ThinkPHP是一個免費開源的,快速、簡單的面向對象的輕量級PHP 開發框架,遵循 Apache2 開源協議發布,是為了簡化企業級應用開發和敏捷WEB應用開發而誕生的。借鑒了國外很多優秀的框架和模式,使用面向對象的開發結構和 MVC 模式,融合了 Struts 的 Action 思想和 JSP 的 TagLib(標簽庫)、 RoR 的ORM映射和 ActiveRecord 模式, 封裝了 CURD 和一些常用操作, 單一入口模式等,在模版引擎、緩存機制、認證機制和擴展性方面均有獨特的表現。
Yii Framework
Yii是一個基於組件的高性能PHP框架,用於開發大型Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從 MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主題化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。事實上,Yii是最有效率的PHP框架之一。
Yii是一個高性能的PHP5的web應用程序開發框架。通過一個簡單的命令行工具 yiic 可以快速創建一個web應用程序的代碼框架,開發者可以在生成的代碼框架基礎上添加業務邏輯,以快速完成應用程序的開發
phalcon
Phalcon是一套實現MVC架構的高性能PHP應用程序框架。初始版本發布於2012年11月,開放源代碼並基於BSD授權條款。與其他大部分的PHP框架不同,Phalcon是以擴充的方式以C語言所編寫,因此Phalcon的執行速度高過其他PHP框架,並且消耗更少的資源,根據官方的測試,Phalcon是目前世界上速度最快的PHP框架之一。[1]
E. Yii2 可以更換 jQuery 的版本嗎
不用修改 PHP 代碼,配置好了更新下就行。
兩種方式:
簡單,但不推薦!
不使用 composer 的情況下,手動更換 vender/bower/jquery 裡面的源碼。
缺點就是不好更新,一切靠人來管理。
依靠配置,推薦!
在使用 composer 的情況下,修改項目 composer.json 的 require 項目,添加一行:
json
"bower-asset/jquery": "1.11.*@stable"
添加完畢後通過 composer 更新下即可,命令行:composer.phar update bower-asset/jquery。
缺點:需要 composer
優點:隨意更新~