關(guān)于學(xué)習(xí)PHP的一些參考:
PHP已經(jīng)在國(guó)內(nèi)流行很多年了,雖然很多人在唱衰PHP,但是對(duì)于WEB開(kāi)發(fā)領(lǐng)域,PHP依舊是當(dāng)之無(wú)愧的首選,PHPer隊(duì)伍依舊龐大,對(duì)于PHPer是否會(huì)流行下去,我并不會(huì)去過(guò)多的評(píng)測(cè),畢竟語(yǔ)言之分只會(huì)停留在開(kāi)發(fā)的初期,任何語(yǔ)言畢竟還是一門(mén)開(kāi)發(fā)的工具,當(dāng)你需要的時(shí)候,任何一門(mén)語(yǔ)言都是你手中的利器,當(dāng)你不需要的時(shí)候,再好的語(yǔ)言都是雞肋。所以于我來(lái)說(shuō)這些并不重要,只要依舊有人在學(xué)習(xí)php,我的這篇博文就是有意義的。下面分享一下想要成為PHPer的升級(jí)路線圖:
1.環(huán)境搭建
對(duì)于新人來(lái)講,完全沒(méi)有必要把心思花在搭建環(huán)境這件事上。在實(shí)際的項(xiàng)目中,絕大多數(shù)都是運(yùn)行在Linux上,在Linux上通過(guò)幾條命令就可以解決的問(wèn)題,但是在windows上就需要花很大的心思來(lái)一點(diǎn)點(diǎn)配置環(huán)境,但是新人直接學(xué)習(xí)linux也是需要花費(fèi)精力的。所以在學(xué)習(xí)初期,完全建議采用集成環(huán)境來(lái)開(kāi)發(fā),把全部的心思放在學(xué)習(xí)語(yǔ)法上面。
在此推薦XAMPP、AppServ、PHPStudy、WampServer等集成環(huán)境。
2.前端基礎(chǔ)知識(shí)
在這個(gè)階段,需要學(xué)習(xí)html+css,同時(shí)理解web網(wǎng)站開(kāi)發(fā)的基本原理,能夠自己搭建靜態(tài)的網(wǎng)頁(yè)基本上就可以了。有很多人建議新人去學(xué)習(xí)JavaScript、jQuery之類的,基本上可以說(shuō)是誤人子弟了,對(duì)于一個(gè)新人來(lái)講基本上屬于對(duì)牛彈琴,上來(lái)就整這些,學(xué)的不好估計(jì)嚴(yán)重影響學(xué)習(xí)進(jìn)度和學(xué)習(xí)信心,走火入魔,弄得好了沒(méi)準(zhǔn)也就變成前端程序員了。
3.php基礎(chǔ)語(yǔ)法
基礎(chǔ)語(yǔ)法大概包括下面這些內(nèi)容:php標(biāo)記、注釋、變量、數(shù)據(jù)類型、常量、表達(dá)式、流程控制、函數(shù)、錯(cuò)誤處理、session、運(yùn)算符、命名空間、包括php中提供的常用函數(shù)等等。
需要注意的是,在這個(gè)階段中很多的新手小白們總是覺(jué)得能看的懂別人的代碼,但是自己卻寫(xiě)不出什么來(lái),其實(shí)存在這種情況很正常,不需要過(guò)于糾結(jié),基本上在這個(gè)階段都是一些基本語(yǔ)法,無(wú)非就是多寫(xiě)多記,自己也可以在網(wǎng)上多找一些小練習(xí)來(lái)練練手,通過(guò)這些小玩意來(lái)磨練自己對(duì)于基礎(chǔ)知識(shí)的掌握程度。
4.面向過(guò)程階段
在這一階段,可以學(xué)習(xí)下MySQL的操作以及PHP如何操作MySQL,自己可以嘗試著寫(xiě)一些例如記事本、分頁(yè)、通過(guò)session等等寫(xiě)個(gè)登陸注冊(cè)等等簡(jiǎn)單的實(shí)例,后期再補(bǔ)充個(gè)GD庫(kù)來(lái)寫(xiě)驗(yàn)證碼,基本上就可以了。
當(dāng)掌握的差不多,就可以嘗試著寫(xiě)一些例如購(gòu)物商城,論壇貼吧等等項(xiàng)目。
5.php面向?qū)ο?nbsp;
在這一階段基本上就要進(jìn)入到php的核心語(yǔ)法升級(jí)階段,從基礎(chǔ)的面向過(guò)程開(kāi)發(fā)升級(jí)到面向?qū)ο箝_(kāi)發(fā)。在這一階段,你需要弄清楚類、對(duì)象、屬性、方法、訪問(wèn)限制、自動(dòng)加載、析構(gòu)函數(shù)和構(gòu)造函數(shù)、繼承、范圍解析操作符、靜態(tài)、抽象類、對(duì)象接口、Trait、匿名類、重載、魔術(shù)方法、遍歷對(duì)象、Final、對(duì)象克隆、比較、類型約束和靜態(tài)綁定、對(duì)象序列化等等。
在這需要注意的是,目前php還是建議看一些php7的內(nèi)容,可以在網(wǎng)上找些資料,來(lái)幫助自己掌握php7的新內(nèi)容。
同時(shí),在這一個(gè)階段需要理解MVC,還要掌握smarty等等,后期可以在學(xué)習(xí)一下php一些設(shè)計(jì)模式用來(lái)提高自己的逼格。
6.再次學(xué)習(xí)下前端的玩意
到了這個(gè)階段,基本上就可以花些心思來(lái)深入學(xué)習(xí)下前端的內(nèi)容,例如JavaScript 深層次的內(nèi)容,例如玩一玩ES6、ES7,研究一下jQuery的源碼,學(xué)習(xí)了解下Bootstrap等等基本上就足夠了。
7.php工作進(jìn)階
到了這個(gè)階段,完全可以自己深入學(xué)習(xí)下php的框架,最常見(jiàn)的ThinkPHP、Laravel等等,通過(guò)深入學(xué)習(xí)框架來(lái)體會(huì)實(shí)際項(xiàng)目的開(kāi)發(fā)。同時(shí)最重要的是一定要寫(xiě)兩個(gè)項(xiàng)目練練手,類型無(wú)所謂,一定要寫(xiě)鞏固所學(xué)。
8.linux
學(xué)到這,可以嘗試著搭建個(gè)虛擬機(jī)或者自己買(mǎi)個(gè)云服務(wù)器玩玩linux,體驗(yàn)下linux下的開(kāi)發(fā),可以將之前的項(xiàng)目一點(diǎn)點(diǎn)移植到linux上,同時(shí)一定要把linux的環(huán)境搭建和基礎(chǔ)操作玩熟。這些都是一個(gè)PHPer必備的。
9.為了應(yīng)付找工作而需要額外掌握的小玩意
學(xué)到這,其實(shí)已經(jīng)可以應(yīng)付工作了,但是目前很多公司在招聘的時(shí)候還是要求掌握一些前端的高級(jí)玩具,例如Vue,例如React Native等等。同時(shí)可以嘗試著了解一些微信開(kāi)發(fā)等等。
10.了解并嘗試并發(fā)解決方案
對(duì)于一個(gè)有逼格的PHPer,怎么能不了解并發(fā)呢,一定要學(xué)習(xí)一些高并發(fā)的框架,學(xué)一些NoSQL,Swoole技術(shù)、keepalived技術(shù)等多項(xiàng)不同的技術(shù),了解服務(wù)器集群下如何提供效率,全面的了解一下PHP的socket、進(jìn)程、線程、協(xié)程等技術(shù)。建議使用Redis、RockMQ寫(xiě)一個(gè)大并發(fā)的、多服務(wù)器的秒殺出來(lái)。
11.神功初成,闖蕩江湖
同學(xué),如果你堅(jiān)持到了這個(gè)階段,恭喜你,你已經(jīng)可以獨(dú)闖江湖了。去工作中多多的積累經(jīng)驗(yàn)吧。
PS:
在學(xué)習(xí)php過(guò)程中,需要書(shū)籍的輔助,在這強(qiáng)烈推薦書(shū)籍:
《細(xì)說(shuō)PHP》PHP入門(mén)的經(jīng)典,內(nèi)容詳實(shí)易懂,全面涵蓋了web開(kāi)發(fā)的所需的知識(shí)內(nèi)容。是一本從入門(mén)到精通PHP技術(shù)的首選教材。
MySQL:
《MySQL必知必會(huì)》《高性能MySQL》、《深入淺出MySQL》
Linux:
《Linux系統(tǒng)編程》《鳥(niǎo)哥的 Linux 私房菜》
聯(lián)系客服