php框架有哪些 初學(xué)者如何學(xué)習(xí)PHP框架?
初學(xué)者如何學(xué)習(xí)PHP框架?很高興能回答你的問題!正好我也是一個(gè)PHPer,希望我原來的成長(zhǎng)經(jīng)歷能夠幫到你。應(yīng)該學(xué)習(xí)什么框架初學(xué)者剛接觸框架,國(guó)內(nèi)首選推薦的必然是ThinkPHP(后面用TP代替),國(guó)外
初學(xué)者如何學(xué)習(xí)PHP框架?
很高興能回答你的問題!
正好我也是一個(gè)PHPer,希望我原來的成長(zhǎng)經(jīng)歷能夠幫到你。
應(yīng)該學(xué)習(xí)什么框架
初學(xué)者剛接觸框架,國(guó)內(nèi)首選推薦的必然是ThinkPHP(后面用TP代替),國(guó)外框架我首推的是Laravel和Yii 再就是Zend。
先說一下推薦原因,TP框架現(xiàn)在是國(guó)內(nèi)唯一的框架,它借鑒了國(guó)外很多PHP優(yōu)秀框架的思想,同樣是MVC實(shí)現(xiàn),國(guó)內(nèi)使用的公司非常多,對(duì)接二次開發(fā)和應(yīng)用的組件也比較成熟。(當(dāng)然我個(gè)人用的不多,一直在原創(chuàng)公司,對(duì)二次開發(fā)的項(xiàng)目接觸比較少)
Laravel框架是國(guó)外非常優(yōu)秀的框架,目前應(yīng)該是全世界使用最多的開源PHP框架了,目前最前的版本是Laravel 6了。簡(jiǎn)單說一下優(yōu)點(diǎn),
1、良好的類庫(kù)加載機(jī)制
2、豐富的組件支撐
3、標(biāo)準(zhǔn)的PHP代碼開發(fā)規(guī)范
4、成熟的隊(duì)列、定時(shí)機(jī)制
5、集成了相當(dāng)多的安全機(jī)制。
怎么學(xué)習(xí)
學(xué)習(xí)框架最大的目的是實(shí)現(xiàn)你要開發(fā)的項(xiàng)目,但你也要了解框架的實(shí)現(xiàn)原理。拿Laravel框架舉例吧。
1、什么是門臉、契約、依賴
2、了解框架的目錄結(jié)構(gòu),知道各個(gè)目錄存放文件的作用,知道如何在框架中自動(dòng)加裁
3、了解控制器、模型、視圖
4、了解路由和中間件是什么
5、知道數(shù)據(jù)庫(kù)操作的基本方式和處理過程。
6、了解異常及日志處理
進(jìn)階:
7、了解PHP框架的安全防范和加密
8、了解第三方組件的使用方式
9、了解隊(duì)列、定時(shí)器、廣播等組件應(yīng)用
寫得比較多,其實(shí)如果把1-6學(xué)習(xí)完了,后面可以在項(xiàng)目應(yīng)用中進(jìn)行慢慢學(xué)習(xí)
手打不易,對(duì)你有用的話可以關(guān)注我。如果你還有什么問題,可以私信與我聯(lián)系。
當(dāng)下最流行的PHP開發(fā)框架有哪些?
你好,首先我們談一談“框架”是什么。“php開發(fā)框架”,顧名思義,就是要可靠、安全、高效率地搭建出web應(yīng)用,這也是目的。
那么,框架的優(yōu)勢(shì)在哪里?我們?yōu)槭裁匆每蚣埽俊驗(yàn)榭蚣芸梢詫?shù)據(jù)庫(kù)、緩存、會(huì)話等功能組建合并為一,方便使用。
下面我們聊一聊比較流行的三個(gè)php開發(fā)框架。
- Lavarel:這是一整套語法簡(jiǎn)潔,好理解的web開發(fā)框架。主要的優(yōu)勢(shì)集中體現(xiàn)在后期的支持、文檔的全備,還有活躍的社區(qū)上。學(xué)習(xí)Lavarel,需要先對(duì)PHP語言、面向?qū)ο?、?shù)據(jù)庫(kù)的操作有一個(gè)基本的學(xué)習(xí)基礎(chǔ)。
 - ThinkPHP:基于最開始即沿用的簡(jiǎn)單結(jié)構(gòu)——mvc和面向?qū)ο蟮妮p量級(jí)PHP開發(fā)框架。簡(jiǎn)單的語法下增添了原創(chuàng)功能和特性,強(qiáng)力支持了web應(yīng)用的開發(fā)。
 - Yii:極其優(yōu)化的性能,對(duì)于任何種類的項(xiàng)目而言都很容易露一手。文檔功能十分詳盡,擁有一切你需要學(xué)習(xí)的信息。不管是開源的還是私有的應(yīng)用,都可以自由地使用!不論從法律還是財(cái)務(wù)上來講!
 
結(jié)語:
很多朋友都容易有這樣的疑問——這三個(gè)框架哪個(gè)更好?這里我簡(jiǎn)單回答一下,沒有好不好,只有適不適合,如果頭子說yii好,必定就是yii主導(dǎo)地位。
最后分享一個(gè)程序猿大大滴提高效率的工具,答案就是——單身。
好,下回見
PHP新手如何成為PHP大牛?
學(xué)習(xí)本身就是循序漸進(jìn)的過程,PHP入門簡(jiǎn)單,精通還需要循序漸進(jìn)。
1. 先從簡(jiǎn)單框架開始,比如thinkphp,先從CMS開始研究,推薦thinkcmf,都是國(guó)人作品,資料不需要翻譯。
2. HTML,CSS,JavaScript 都需要涉獵,jQuery 這種早期框架,至今仍有用,前沿點(diǎn)的技術(shù)還要掌握angular,reactjs,vue。 類似的還有Ember.js,backbone等,前端框架最亂,ES6,ES7語法上還不斷改進(jìn),不要貪多,循序漸進(jìn)去了解。
3. 終極框架推薦laravel,國(guó)外最火,仿Ruby的設(shè)計(jì)哲學(xué),類似Java把設(shè)計(jì)模式發(fā)揮到極致,所以掌握這個(gè)框架主要掌握 控制反轉(zhuǎn)(ioc),依賴注入(DI),其實(shí)就是工廠模式(factory),和接口(interface,laravel里的contract契約)。實(shí)現(xiàn)技巧利用了PHP的魔術(shù)方法(比如__callStatic)和反射機(jī)制,實(shí)現(xiàn)優(yōu)雅,號(hào)稱為Web藝術(shù)家的框架。
4. MySQL,MongoDB 慢查詢優(yōu)化,緩存設(shè)計(jì),分庫(kù),分表,sharding設(shè)計(jì),SQL優(yōu)化。相當(dāng)于大半個(gè)DBA了。
5. beanstalk或rabbitmq等異步消息隊(duì)列的使用等。Redis,memcache的使用,配合具體業(yè)務(wù)場(chǎng)景,有處理高并發(fā)的架構(gòu)能力。
6. LAMP/LNMP的部署,包括應(yīng)用集群,數(shù)據(jù)庫(kù)集群,MQ和Redis緩存的集群部署等。相當(dāng)于大半個(gè)DevOps。
技術(shù)的終極是成為一個(gè)好的架構(gòu)師,是一個(gè)綜合能力的修養(yǎng),新知識(shí)的學(xué)習(xí)能力,業(yè)務(wù)問題的解決能力,我想PHP大?;菪鲁揭矝]掌握上面這么多,他更精通低層,PHP內(nèi)核,c的擴(kuò)展等,但他很成功,類似的還有swoole和workman的作者,但要在社區(qū)中樹立這種威信也必須要付出很多,如果想成為技術(shù)牛人,付出這個(gè)過程都是必不可少的。
手機(jī)打字不易,我也是個(gè)PHP程序員,也是頭條作者,會(huì)定期在自己的專欄發(fā)些技術(shù)文章,歡迎大家關(guān)注我。上面言論不當(dāng)之處,也歡迎斧正。
php零基礎(chǔ)可以學(xué)嗎,需要注意些什么?
不能?。?guó)家嚴(yán)禁零基礎(chǔ)學(xué),否則,十年以上有期徒刑
PHP如何快速上手?
Windows上的環(huán)境有啥不好配的……可以先看看兄弟連高洛峰老師的視頻教程自學(xué)。
JavaScript和PHP,哪個(gè)更難?
javascript運(yùn)行在客戶端,php運(yùn)行在服務(wù)端,相比之下,由于php庫(kù)函數(shù)多,支持?jǐn)U展程序,引入了java,C/C 等其他優(yōu)秀思想,解決了復(fù)雜的編程問題下能夠有更好地靈活性,由于php運(yùn)行于服務(wù)端,支持跨平臺(tái),跨瀏覽器,錯(cuò)誤更容易處理解決;對(duì)于javascript,缺少足夠的庫(kù)函數(shù),由于瀏覽器廠商支持的javascript版本不同,因此有些程序不能跨瀏覽器,很多模塊化的編程很難理解,含有,錯(cuò)誤調(diào)試難度更大,因此php更好學(xué)一些