本人學(xué)過PHP,現(xiàn)在希望學(xué)習(xí)一個(gè)PHP的框架。
通過網(wǎng)上查閱資料,我了解到以下幾個(gè)框架經(jīng)常被提到:
求指點(diǎn)。
——————
8月10日:根據(jù)大家的回答,決定學(xué)習(xí)Laravel。謝謝大家的解答。
認(rèn)證0級講師
It is recommended to learn the laravel framework, which is used by many companies and is helpful for work and career.
選擇 PHP 框架,必須得看看 FIG 了:http://www.php-fig.org/
FIG 是 Framework Interoperability Group(框架可互用性小組)的縮寫,由幾位開源框架的開發(fā)者成立于 2009 年,從那開始也選取了很多其他成員進(jìn)來,雖然不是 “官方” 組織,但也代表了社區(qū)中不小的一塊。
組織的目的在于:以最低程度的限制,來統(tǒng)一各個(gè)項(xiàng)目的編碼規(guī)范,避免各家自行發(fā)展的風(fēng)格阻礙了程序設(shè)計(jì)師開發(fā)的困擾。有四套規(guī)范:
本來我一直使用的是 ci 和 zend,不過正如 @shamiao 大大所說推薦的,我也正在變成一名 laravel 的粉絲。
前幾天使用 esoTalk 搭了一個(gè)輕論壇 http://bbs.justjavac.com
論壇新地址:http://discuss.flarum.org.cn/
不過作者發(fā) twitter 表示將開發(fā) Flarum 替代 esoTalk。理由是 esoTalk 底層代碼不夠強(qiáng)大,那么新的 Flarum 系統(tǒng)呢,底層使用了 laravel 框架。
幾周前,還有人對 toby 大大賣萌 http://discuss.flarum.org.cn/13-esotalk-toby
強(qiáng)烈推薦:Phalcon, CI
Laravel重的一塌糊涂、向后兼容性差不說,代碼風(fēng)格方面還用tab來縮進(jìn)!在當(dāng)今這個(gè)4空格(PSR,PEAR,ZEND)甚至是2空格(Langspec)縮進(jìn)的世界中,可謂逆水行舟,作者本人的信譽(yù)也有問題,Phil多次勸過他遵循PSR,作者答應(yīng)了,F(xiàn)IG上也有了,卻一直不改...更遑論其鼓吹的“優(yōu)雅”和“性能超CI”了。
Laravel的可借鑒之處例如:IoC,DI,eloquent,Artisan這些Phalcon全都有,性能還更好(能比這個(gè)框架快的PHP框架不多了,唯一能抗衡的是YAF吧,但YAF那社區(qū),那文檔,呵呵了)。
Codeigniter的3.0就快要stable了,對2.0中一些領(lǐng)人詬病的地方也做出了相當(dāng)大的改進(jìn)(例如原生支持composer,高度兼容HHVM等),而且CI的快速部署、易于拓展、接近原生語法(學(xué)了就知道多么人性,多么簡潔)的特性也使得它老當(dāng)益壯,一些比較不錯(cuò)的第三方庫更新頻繁,其衍生框架Bonfire也是生機(jī)勃勃。
CI的主要缺點(diǎn)是:
至于Yii/ZendFramework/CakePHP/Slim/Swole/Symfony/Swoole,這幾個(gè)框架,由于我本人沒有接觸過,所以沒有資格評論,但就印象而言,這幾個(gè)框架實(shí)在是讓我打不起興趣學(xué)習(xí)。
看下 Github 最受歡迎的 PHP 開源項(xiàng)目, 跟著大家走, 準(zhǔn)沒錯(cuò) https://github.com/search?l=PHP&q=+stars%3A%3E0&ref=searchresults&type=Repositories
個(gè)人推薦:Phalcon
、Laravel4
http://segmentfault.com/q/1010000000435088
個(gè)人強(qiáng)烈推薦學(xué)習(xí) Symfony
優(yōu)點(diǎn):
1. 文檔非常齊全
2. 社區(qū)非?;钴S
3. 企業(yè)級的框架,適合項(xiàng)目從小到大不斷迭代的各個(gè)階段
4. composer、自動(dòng)化、命令行
5. 命名空間,完全面向?qū)ο蟮脑O(shè)計(jì)
6. 大量第三方包,加速開發(fā)進(jìn)程
7. 設(shè)計(jì)非常棒的生產(chǎn)環(huán)境和開發(fā)環(huán)境,開發(fā)環(huán)境下完善的異常提示
8. 熟練后開發(fā)速度非常快,這個(gè)快不在于很快出一個(gè)demo,而在于能很快出一個(gè)完整的產(chǎn)品
缺點(diǎn):
1. 具有較高的學(xué)習(xí)曲線,要花功夫去學(xué)會(huì),新概念非常多,但學(xué)會(huì)后便是優(yōu)勢
2. 性能相對較差,但是后期有大量方式去優(yōu)化性能
3. 還是學(xué)起來的時(shí)候會(huì)比較累,但是文檔特別全,只要你肯花功夫就沒有問題
第一個(gè)層次是PHP技術(shù)的深度學(xué)習(xí):如PHP字符串、數(shù)組、文件和PHP的高級特性以及PHP運(yùn)行原理等; 第二個(gè)層次是Web技術(shù)的深度拓展:如深入Http協(xié)議、Linux技術(shù)、Web服務(wù)器技術(shù)、前端JS技術(shù)、MySQL和NoSQL技術(shù)等;第三個(gè)層次是編程思想和能力的拓展:如數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì)、設(shè)計(jì)模式、好代碼的原則和技巧、大規(guī)模網(wǎng)站開發(fā)技術(shù)等。
按照這個(gè)提綱學(xué)下去吧:http://www.sijiaomao.com/course.htm