自學PHP開發路線與建議

Sandy發表於2017-08-26

php基礎:php學習基礎文字教程,學習php先從基礎開始
php入門:php學習必看的入門視訊教程,學完能夠做一些基礎性的web開發
php提高:php開發高階教程及經驗總結,包含一些知識點的歸納總結,以及開發經驗總結
php實戰:php開發實戰視訊教程,看完你就能開發大型的web專案啦!

學習路線

一、 網上某些錯誤的學習路線圖網上有些錯誤的學習路線圖,讓學完HTML、CSS後立馬去學Javascript和jQuery等,這種課程簡直是對牛彈琴。你特麼的怎麼不去搞個前端工程師培訓或者是吹牛逼的全棧工程師培訓呀。這種錯誤的路線圖的問題在於將重心未放在PHP方向,而放在了前端方向。將物件導向,業務思想、SQL轉化等PHP關注的重心沒有放置在之前而放置在之後了。PHP的重心還是要放在業務處理上。

二、 前期加快入門前期的時候要加快入門的進度,學一些HTML和Css能基本寫出網頁後,就快速進入到PHP階段。因為大家是自學的PHP,學了半天還沒搞到PHP的話,會放鬆對學習的熱情,從而造成自學效果下降。學完HTML和Css不要學Js,立馬進入到環境的搭建上來。

三、 關於開發 環境很多人在這兒走彎路,喜歡找不到同教程看環境搭建。我們在公司裡面開發的時候,真正的是使用的Linux環境進行開發和線上程式碼執行的。在學習的過程中,我建議:快、快、快。少糾結、程式碼能跑就行。此處,推薦使用XAMPP、AppServ、PHPStudy、WampServer等工具快速安裝完成,開始自己的第一段

<?php
phpinfo();複製程式碼

四、 基本語法環境搭建完,開始要學習的東西有以下一些東西了:變數、資料型別、註釋、常量、if…else、swith…case、while、do..while、for、運算子、陣列、函式、常用函式;這些過程當中,很多小白容易糾結為啥啥都寫不出來呢。此外,全是些基本語法,一定要記住,多寫多記多背。在心理上覺得啥都寫不出來是很正常的。

五、 程式導向使用階段在這一階段就能夠寫出東西來了,學完MySQL資料庫後立馬開始學習PHP連線資料庫吧,學習完成後寫個留言本、分頁、再學個cookie和session實現使用者登陸、註冊。學個GD後開始實現個驗證碼吧。最後在這個階段你可以寫一個論壇、貼吧或者商城出來。

六、 物件導向和MVC在這個階段不要再看PHP5的視訊了,最好看PHP7以後的視訊,特別是新的一些標準,例如:composer、PSR、物件導向的設計模式等。你可以看一些千鋒PHP最新的視訊,這些技術點全都講到了。這一塊學習順序:物件導向基本語法;寫幾個常用類;組合MVC學習設計模式學習PSR

七、 深入學學前端PHP學好了,前端課程學起來跟玩似的了。因為你已經有了一門語言的基礎了。所以,學習一些JS,再學一些jQuery,bootstrap夠你用了。

八、 深入ThinkPHP5.0或者Laravel深入學習一個或者兩個框架,然後結合前端的知識,寫二個以上的項 目出來吧。你可以寫個多品類的商城、寫一個OA系統等。

九、 學習Linux伺服器學習Linux伺服器的主要了解多伺服器的部署,瞭解軟體安裝,特別是LAMP和LNMP的環境搭建。將對應的程式碼搭建到自己部署的伺服器上去。最後買一個域名和阿里雲伺服器,真正的將程式碼部署到雲伺服器上去,走一次上線流程,用一下git管理一下程式碼會更棒。

十、 深入大併發架構的學習你非常有必要學習一下大併發架構,學一些NoSQL技術、Swoole技術、keepalived技術等多項不同的技術。讓自己全面瞭解伺服器叢集下程式碼如何執行的更加高效。並且全面的瞭解一下PHP的socket、程式、執行緒、協程等技術,對你的程式碼的技術提升是很有幫助的。建議這個時候使用Redis、RockMQ寫一個大併發的、多伺服器的秒殺出來。這一塊國內都有很多視訊,視訊不要再看PHP5的視訊了,你可以多看看PHP7的視訊。現在學習PHP已經不再是單純的學習PHP了,到後期更多的是學伺服器叢集,大併發處理,按照這個路線圖一點一點往前走,有問題可以在評論下面我們們相互交流。

學習建議

我們要有一個循序漸進的學習過程,這裡先把學習PHP的過程做一下概括,這和很多學習PHP的愛好者是不謀而合的:
  (1) 熟悉HTML/CSS/JS、、網頁基本元素,完成階段可自行製作簡單的網頁,對元素屬性相對熟悉
  (2) 理解動態語言的概念和運做機制,熟悉基本的PHP語法
  (3) 學習如何將PHP與HTML結合起來,完成簡單的動態頁面
  (4) 接觸學習MySQL,開始設計資料庫
  (5) 不斷鞏固PHP語法,熟悉大部分的PHP常用函式,理解物件導向程式設計,MySQL優化,以及一些模板和框架
  (6) 最終完成一個功能齊全的動態站點
  新手不要看到上面的概括就以為PHP學習是很簡單的,程式設計是需要你認真的思考和不斷的實踐。 下面具體解釋一下PHP的學習線路。 首先,任何網站全都是由網頁組成的,也就是說想完成一個網站,必須先學會做網頁,掌握靜態網頁的製作技術是學習開發網站的先決條件。 因此我們要學習HTML,為今後製作網站打下基礎。 學習HTML應該邊學邊做,HTML中的任何元素都要親自實踐,只有明白了什麼元素會起到什麼效果之後,才能深刻記憶,一味的看書是不行的
  假設你已經可以完成一個靜態頁面了,那麼就該開始瞭解動態語言,剛一接觸動態語言,可能很多人都會擁有很多不解,程式碼不是作為直接輸出的,而是要經過處理的,HTML是經過HTML解析器,而PHP也要通過PHP解析器,跟學習HTML一樣的道理,想讓任何的解析器工作,就必須使用它專用的語法結構
  學習PHP,你應該感到幸運,因為如果你學過其他語言,你就會發現PHP還是相對簡單的,這一階段,你要搞清楚HTML和PHP的概念,你現在完全可以讓PHP給你算算一加一、、於幾,然後在瀏覽器輸出。 不要覺得幼稚,這雖然是很小的一段程式碼,但是對於你的程式設計之路,可是邁出了一大步。 不過現在,你還是一個菜鳥
  接下來就要學習資料庫了,MySQL可以說是PHP的黃金搭檔,我們要征服這個資料庫,在你理解了資料庫的概念之後,就要嘗試通過PHP來連線資料庫,進而會用PHP成功的插入,刪除和更新資料
  這個時候,你可能會處於這種狀態:你會HTML嗎?會,我能編好幾個表格排板的網頁呢!你會PHP嗎?會,我會把一加一的運算寫在函式裡,然後呼叫!你會MySQL嗎?會,我可以把資料庫裡的資料插入刪除啦!
  那接下來該做什麼呢?嘗試著做個小的留言本吧,這同樣是新手面臨的一道關卡。 花了一段時間,你終於學會把表單的資料插入資料庫,然後顯示出來了,應該說一個程式的雛形已經誕生了。 但是,你可能會看人家這個編論壇,那個開發CMS,我什麼時候可以寫一個呢?不要急,再鞏固一下知識,熟悉了PHP和MySQL開發的要領後,再回頭看你寫的那個留言本,你也許會懷疑那真的是你寫的嗎?這個時候,你可以完善一下你寫的留言本。 留言本應該加入註冊以及分頁的功能,可以的話,UI也可以加強
  這就算學會了嗎?NO,NO,NO,還早呢,你到現在還沒碰過OOP呢吧?那模板和框架呢?還要繼續學習呀!PHP框架提供了一個用以構建web應用的基本框架,從而簡化了用PHP編寫web應用程式的流程。 可以節省開發時間、、有助於建立更穩定的應用。 所以說,PHP框架是一個可以用來節省時間並強化自己程式碼的工具。 當你第一次選擇PHP框架時,建議多嘗試幾個,每個框架都有自己的長處和短處,例如Zend框架由於多樣的功能、、並且有一個廣泛的支援系統,流行了很長時間。 而CakePHP是一個晚於Zend的PHP框架,相應的支援系統也比較少,但是更為方便和易於使用
  瞭解了物件導向和框架後,你應該接觸一下XML了,總而言之,你絕對不會發現你全部都學會了,學無止境!學東西,永遠不要妄想有速成這一說,技巧再多,但是缺少努力,那也是白搭。 有一點可以保證,就是你學會了PHP,那麼再學其它語言,肯定速成,反過來也一樣,如果你之前學過其它的語言,那麼學PHP肯定快
  多借鑑別人成功的程式碼,絕對是有益無害,所以要多看那些經過千錘百煉凝出來的經典程式碼,是進步的最好方法。 另外,要強調的是,學習一項技術過程中可能會遇到困難,可能會迷茫,你也許學了一半的PHP,又開始打C#的主意,或者有人說Java很好,這個時候你絕對不能動搖,要堅持到底,徹底學會。 祝你順利學成PHP,開發自己想要的網站
  最後,分享10條PHP效能優化的小技巧,幫助你更好的用PHP開發:
  1、、foreach效率更高,儘量用foreach代替while和for迴圈
  2、、迴圈內部不要宣告變數,尤其是物件這樣的變數
  3、、在多重巢狀迴圈中,如有可能,應當將最長的迴圈放在內層,最短迴圈放在外層,從而減少cpu跨迴圈層的次數,優化程式效能
  4、、用單引號替代雙引號引用字串以實現PHP效能優化
  5、、用i+=1代替i=i+1。 符合c/c++的習慣,效率還高
  6、優化Select SQL語句,在可能的情況下儘量少的進行Insert、Update操作,達到PHP效能優化的目的
  7、、儘量的少進行檔案操作,雖然PHP的檔案操作效率也不低的
  8、、儘可能的使用PHP內部函式
  9、、在可以用PHP內部字串操作函式的情況下,不要用正規表示式
  10、feof、fgets、fopen、在可以用file_get_contents替代file、系列方法的情況下,儘量用 file_get_contents,因為它的效率高得多。 但是要注意file_get_contents在開啟一個URL檔案時候的PHP版本問題

相關文章