這篇文章是圍繞PHP的學習問題,以前介紹過《 重磅資料!Github上的PHP資源彙總大全 》《 深刻探討PHP類的封裝與繼承 》《 PHP的學習規劃建議 》等對PHP學習有幫助的內容,爲了你能夠更好地學習PHP,此次主要是想說一下PHP的學習線路,文末還有10條PHP性能優化的小技巧介紹哦。html
咱們要有一個按部就班的學習過程,這裏先把學習PHP的過程作一下歸納,這和不少學習PHP的愛好者是不謀而合的:linux
(1) 熟悉HTML/CSS/JS等網頁基本元素,完成階段可自行製做簡單的網頁,對元素屬性相對熟悉。c++
(2) 理解動態語言的概念和運作機制,熟悉基本的PHP語法。web
(3) 學習如何將PHP與HTML結合起來,完成簡單的動態頁面。正則表達式
(4) 接觸學習MySQL,開始設計數據庫。數據庫
(5) 不斷鞏固PHP語法,熟悉大部分的PHP經常使用函數,理解面向對象編程,MySQL優化,以及一些模板和框架。編程
新手不要看到上面的歸納就覺得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. 在能夠用file_get_contents替代file、fopen、feof、fgets等系列方法的狀況下,儘可能用 file_get_contents,由於它的效率高得多。可是要注意file_get_contents在打開一個URL文件時候的PHP版本問題。