首先說明一下本人為何要寫這樣一個學習系列:本人接觸PHP開發已一年有餘,期間多為自學(大學未開設PHP課程也未參加什麼培訓班)。在整個的學習過程中知識體系很零碎,不成章程。雖然期間也看了一些書籍,但在目前的工作中,仍感覺對於PHP的知識瞭解不夠深入,為了形成完整的知識體系,特決定從今天開始進行一個全新的PHP學習,為期二十天,期間會將遇到、所感所悟一一記錄下來。
首先聲明一點:PHP是世界上最好的語言,沒有之一。
PHP是PHP Hypertext PreProcesseror 超文本前置處理器的簡稱,目前版本已經到7,是一種物件導向(中間經曆了5版本之前的面向過程)、跨平台(Windows/Linux/Unix)、開源、適合進行Web開發的服務端指令碼語言。
PHP語言是一種伺服器端的指令碼語言,需要指令碼解譯器來保證PHP指令碼的正確執行,目前是使用的Zend引擎。
PHP語言經曆了類似C/C++語言的面向過程編程(PHP 5之前)和類似C#、Java的物件導向編程(PHP 5之後)兩個階段。
PHP語言在PHP 3之前的版本採用的是邊編譯邊執行的方式,而且整體代碼耦合度比較高,擴充性較差。第二個問題在PHP 3.0版本時得到解決,第一個問題在引入Zend引擎(PHP 4)以後得到瞭解決。
PHP目前發展態勢良好,各種社區比較完善,目前版本已經到7,而且效能較之前有了很大的提升。但是TIOBE網站程式設計語言的排行版顯示,PHP最近幾年的排名一直在下降,漸漸的被Python等指令碼超越,本人目前也有學習Python的打算。
PHP語言的應用情境:
(1)各種大中小網站的開發
(2)服務端指令碼語言開發,作為OpenApi使用
PHP語言簡單,易上手、而且和Mysql、Nginx、Linux這些是黃金組合,而且都是開源的軟體,所以,PHP是Web開發的慣用語言。
PHP語言提供了擴充庫來擴充PHP的功能,這些擴充庫提供了很多功能,如Curl請求,GD畫圖、Mysql連結,通過這些擴充庫我們可以調用很多函數,簡化了我們的很多代碼。
在Windows平台和Linux平台上,PHP的擴充庫尾碼不同,Linux為.so,Windows為.dll,擴充的添加方式很類似:將擴充放到php的擴充目錄,修改php.ini設定檔,引入擴充,最後是php-fpm服務,通過phpinfo函數來查看擴充是否真的引入。
網上有很多開源的擴充庫,同時PHP也提供了擴充庫的擴充能力,各公司、個人可以根據自己的業務需要定製開發擴充庫。
如何學好PHP語言
(1)要有明確的學習目標和學習方向,有自己的學習計劃,並持之以恒的堅持下去。
(2)想要建好大廈必須先從打好根基開始,多注重語言的基礎知識
(3)遇到問題很正常,但不要急躁。先分析問題,然後再根據思路解決問題。如果嘗試之後仍未能解決可以尋求他人協助,但切記遇到問題就想著尋求他人的協助。表面看來問題是解決了,但自己的能力卻未得到提升。發現問題和解決問題有本質的差別,只反映問題的是初級程式員,發現並嘗試解決問題的是中級程式員,發現並解決問題的才是進階程式員。
(4)語言學習不能閉關鎖國,一定要多和他人交流,也可以通過寫部落格的方式講自己的所感所悟記錄下來,這樣對自己的語言描述能力也是一種鍛煉和提升
(5)實踐大於理論,一定不要只停留在理論學習階段,一定要多實踐,通過實踐鞏固理論知識。
參考博文:PHP版本曆史