目前的PHP人才供求緊張,其高端人才更是一將難求。不少人選擇PHP,也是追求其高薪,那咱們在學習PHP應該注意些什麼呢? html
新手學習PHP的10個技巧,讓你離大牛更近一步!
蓋樓先要打地基,學習PHP基礎尤其重要,要有紮實的知識作基礎,而知識的豐富可讓你在解決問題的時候遊刃有餘。開發規範要養成良好的習慣,項目管理,項目解決方案都是要積累的經驗。下面是小編學習PHP中的一些心得體會,學習PHP並非很難的事情,只有你有心堅持,必定能夠在這條路上越走越遠。 前端
多閱讀手冊和源代碼 mysql
學習PHP沒什麼比閱讀手冊更值得強調的事了,僅僅經過閱讀手冊你就能夠學習到不少東西,特別是不少有關於字符串和數組的函數。就在這些函數裏面包括許多有用的功能,若是你仔細閱讀手冊,你會常常發如今以往的項目開發過程當中,不少時候你在「重複發明輪子」,而實際上你只須要一個核心函數就能夠完成相應的功能。另外,如今有不少使用PHP開發的開源程序。爲何不去學習和借鑑呢?下載一份開源的PHP應用程序的源代碼,仔細閱讀它吧。也許越大的項目越值得去閱讀,雖然它們也許有更復雜的結構和系統,但也有更詳細的解釋文檔。 sql
編寫模塊化代碼 數據庫
良好的PHP代碼應該是模塊化的代碼。PHP的面向對象的編程功能是一些特別強大的工具,能夠把你的應用程序分解成函數或方法。你應該儘量多的從你的應用程序的服務器端分開前端的HTML/CSS/JavaScript代碼,你也能夠在任何PHP框架上遵循MVC(模型-視圖-控制器)模式。apache
代碼編寫規範 編程
良好的PHP代碼應該有一套完整的代碼編寫規範。經過對變量和函數的命名,統一的方法訪問數據庫和對錯誤的處理,以及一樣的代碼縮進方式等來達到編程規範,這樣可使你的代碼更具可讀性。 數組
代碼註釋 瀏覽器
代碼註釋是代碼的重要組成部分。經過代碼註釋能夠知道該變量或函數是作什麼的,這將在從此的代碼維護中十分有用。 安全
編寫可移植代碼
良好的PHP代碼應該是可移植的。你可使用PHP的現有功能,如魔術引號和短標籤。試着瞭解你的需求,而後經過適應PHP特性來編寫代碼讓代碼獨立、可移植。
編寫安全代碼
良好的PHP代碼應該是安全的。PHP5提供了出色的性能和靈活性。可是安全問題徹底在於開發人員。對於一個專業的PHP開發人員來講,深刻理解重大安全漏洞是相當重要的,如:跨站點腳本(XSS)、跨站請求僞造(CSRF)、代碼注入漏洞、字符編碼漏洞。經過使用PHP的特殊功能和函數, 如:mysql_real_escape_string等等,你能夠編寫出安全的代碼。
使用逗號分隔字符串輸出
經過echo語句輸出使用逗號(,)分隔的字符串,要比使用字符串鏈接操做符(.)的性能更好。
轉義字符串輸出
使用ENT_QUOTES做參數傳遞給htmlspecialchars函數,以確保單引號(')也轉換成HTML實體,這是一個好習慣。
使用單引號代替雙引號
字符串始終使用單引號代替雙引號,以免PHP搜索字符串內的變量致使的性能降低。由於<a data-original-title="" rel="nofollow" target="_blank" title="PHP手冊中說echo是語言結構,不是真正的函數,這樣作會更快一些。PHP會在雙引號包圍的字符串中搜尋變量,單引號則不會。
輸出前檢查傳來的值
輸出前檢查傳過來的值$_GET['query']。使用isset或empty函數,能夠用來檢查變量是否爲null值。
不要在你的應用程序中gzip輸出,讓apache來作
考慮使用ob_gzhandler?不,別這樣作。它沒有任何意義。PHP應該是來寫應用程序的。不要擔憂PHP中有關如何優化在服務器和瀏覽器之間傳輸的數據。
使用apache mod_gzip/mod_deflate經過.htaccess文件壓縮內容。
這不是很整潔?
在寫入任何文件以前檢查目錄是否可寫
在寫入或保存任何文件以前,請務必要檢查該目錄是不是可寫的,若是不可寫的話,會閃爍錯誤消息。這將節省你大量的「調試」時間。當你工做於Linux時,權限是必需要處理的,而且會有不少不少的權限問題時,當目錄不可寫,文件沒法讀取等的時候。
總結
首先PHP語言的學習須要耐心,一些初學者不少剛開始就放棄的緣由也是因爲編程的枯燥,有時候費心費力的敲出一個程序,卻不能運行,程序或架構出現了問題,這時候擺好心態最重要。必定要有耐心,從源頭開始找緣由,逐步排查,而後修改。在掌握授課內容的間隙裏,本身主動的掌握更多的有關知識,這個獲取的渠道也是有不少的,網上有許多的博客,裏面的許多東西,除了瀏覽別人的博客,去知乎或者就用手機,打開微信,關注一些關於編程的公衆號也是不錯的選擇。不少人認爲只有是電子、計算機、網絡相關的人,才能夠學PHP;其實否則。相關專業的當然更好,但不是也不要緊,由於,PHP這個領域主要就是應用層,因此深奧的東西通常都被隱藏了,你入門不會那麼難。