PHP該怎麼學?

我學習PHP有一年了,但是感覺自己的水平提高很慢,我想暑假找份實習的工作,還有就是PHP的就業前景怎麼樣,想聽聽專業的回答


資深的工程師往往都會有意識的培養自己的技能樹的,圍繞少數核心技能/興趣來有方向有計劃的學習和參與項目。
當然,最重要的是選擇一個好的平台,大公司流程和技術積累會比較雄厚適合學東西,小公司擔任主力開發更能發揮些,這些是不同階段上不同訴求來決定的,一般建議在足以勝任經理以上級別前,還是選擇制度健全有一定行業知名度的公司更好一些,因為這個選擇同時也決定了你的主要交際圈;
編程思想方面,看看代碼大全、數據結構與演算法,最好能結合知名開源項目的代碼和文檔閱讀來體會,比如WordPress和Zend Framework都是值得好好讀好好思考的項目;
開發效率方面,了解一些開源的library,先各領域選擇少數的一兩個用好用熟練再說,比如Javascript用jQuery、上傳用SWFUpload等;
相關技能根據自己的實際需要,了解比較重要的一些點,比如MySQL、Memcache等,先強化了解基本使用、常見問題、主要優化手段等就好,慢慢跟著主技能一起提升吧;
團隊合作的能力,一般只要願意主動承擔責任,甚至能把批評當自我提升的契機的話,提升都會很快,別人也會樂於和你合作。


  1. 學歷將決定你的起點,尤其是腳本語言,腳本語言你要是進不了一個好的平台,你想提高,幾乎不可能,1E數據跟1W數據完全兩回事,1E的PV跟1W的PV完全不一樣,神馬隊列,緩存,分散式,小公司基本都是極其表面的使用,甚至在不少小公司,你50%以上的時間在整div和CSS,所以起碼一個本科學歷,沒有就去弄一個。
  2. c++和java起碼要熟悉一個,兩個都熟悉更好,沒見哪個技術大牛繞過這兩個了。
  3. 英語一定要學好,起碼讀寫要不藉助工具能看懂英文專業文章,php是用來做web的,發展極快,各種新技術層出不窮,等中文文檔出來黃花菜都涼了,而且中文文檔是經過了一道手的,比起原文還是有差距。
  4. 多查少問,自己想方設法得到的答案更深刻,學生時代不是有句話:抄來的答案最不容易忘嗎?
  5. 從大到小,由面到點,不要老啃著細枝末節的東西不放,知識要放在整個項目和環境中去學。例如,學習框架的運行模式而不是只是學具體某一個框架,任何框架隨手就用。多使用國外開源東西。
  6. 整理一些抽象的模型庫,比如一些框架的libary,多看多整理。

至於PHP的前景,目前一邊是越來越多的人開始學PHP,另一方面呢,越來越多的企業招不到PHPer.因為20個人里也不一定招到一個滿意的。因為腳本語言的門檻比較低,所以現在市面上PHP培訓異常火爆,很多人初中高中大學不好好學習,以為通過幾十天的培訓就能改變命運,任何東西,質變的前提是量變,越是簡單的東西越不好學,因為人多可替代性強,你要不努力學習更多的東西可能就被下一波廉價碼農所代替。


首先放上視頻鏈接,下面提到的視頻根據「名稱」在這裡找https://pan.baidu.com/s/1mhQZwXM

第一部分 php路線

  1. C語言:書籍《C Primer Plus》(學習:http://www.51xuexi8.com/e/DownSys/play/?classid=5id=1020pathid=0jishu=180)
  2. html/css/javascript/php/web server:首先要對這些有個概念(學習:https://www.zhihu.com/question/22689579/answer/22318058
  3. Html和css:書籍《HTML and CSS:Design and Build Website》,用福昕閱讀器看,編輯器用webstorm
  4. JavaScript:看視頻(名稱:js視頻)
  5. Jqery:JavaScript庫(學習:https://www.w3schools.com/jquery/default.asp)
  6. bootstrap:前端庫(學習:https://www.w3schools.com/bootstrap/bootstrap_buttons.asp)
  7. Git/github:管理代碼(http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
  8. php基礎:看視頻(名稱:php基礎(神龍教主))
  9. php深入:看視頻(名稱:php韓順平),直接從面向對象的部分看起,用phpstorm寫代碼,學習的時候將僱員管理系統做出來
  10. php補充:看視頻(名稱:php100),這套視頻會講一些在項目中可以直接用上的小例子,有選擇性地看,當做韓順平視頻的補充
  11. thinkPHP框架:看視頻(名稱:傳智tp視頻),閱讀thinkphp文檔
  12. mysql深入:看視頻(名稱:韓順平mysql),學會設計資料庫(學習:https://www.zybuluo.com/yangxitian/note/328580#5)
  13. 看源碼:輕會議(工作室師兄的軟體設計大賽作品)https://github.com/Jayin/LightMeeting;趣組隊https://github.com/lyt123/Fungrouping
  14. 寫項目:將上面的內容都學完之後,就可以開始寫項目了,這時候會遇到很多問題,也要開始使用些新工具(伺服器:阿里雲/騰訊雲,新手可以先在伺服器裝windows,一上來就用linux可能會難一點;代碼託管:http://coding.net;api調試工具:postman;api文檔編寫:cmd markdown;操作遠程資料庫:navicat;)
  15. linux:看視頻(韓順平linux),書籍《The Linux Command Line》,用xshell遠程登錄伺服器,用filezilla操作伺服器文件
  16. php進階:書籍《modern php》,搭建簡單的php框架(明庭令的博客https://my.oschina.net/mingtingling/blog?sort=timecatalog=263852p=3temp=1489287377123)
  17. 總結:到了這裡,你應該能自己去判斷該學什麼和怎麼學了,laravel框架、微信開發、設計模式、http協議和tcp/ip協議、redis/memcache等知識也是必備的。

第二部分 工具使用

  1. 瀏覽器:少用百度,推薦chrome(用不了谷歌搜索?試試這個https://laod.cn/hosts/2017-google-hosts.html)
  2. 筆記:用雲筆記,我用的是有道雲筆記
  3. 其他:必應詞典/ditto/everything/qttabar/autohotkey(自己折騰)

第三部分 其他

  1. 說明:上面列出來的視頻和資料,都是我看過覺得相對比較好的。我是這樣走過來的,所以也只能給出這樣的路線。
  2. 過時:有的資料比較老,好比上面的郝斌C語言視頻教程,是09年的。但是這套視頻對新手很友好,而C語言的基本語法幾年過去變化也不大,所以我還是推薦看的。
  3. 版本:JavaScript、php等語言版本都是不斷在更新的,但新的版本保留了絕大部分舊版本的語法,只是有些舊版本的語法不再被提倡使用。所以看視頻時,那些過時的用法理解思想即可,下載文檔時下載最新版的看。

-------------下面的答案是未整理之前的--------------

1. 一年半前我只會C語言,也是在知乎上找些學習路線,自學前端。後來進了學校的計算機工作室,這一年也學了許多,學習路線如下,在此分享。
2. Html和css:推薦一本書,建議用福昕閱讀器看,可以做標註和注釋,編輯器用sublime text英文版http://pan.baidu.com/share/link?uk=1599586141amp;shareid=3633267252amp;third=0amp;adapt=pcamp;fr=ftw
3. JavaScript:看智能社的視頻https://pan.baidu.com/share/home?uk=1788843684#category/type=0
4. Jqery:JavaScript庫,http://www.w3school.com.cn/jquery/index.asp
5. bootstrap:前端庫http://www.runoob.com/bootstrap/bootstrap-intro.htmlhttps://pan.baidu.com/s/1cvJDEI
6. Git/github:管理代碼http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
7. php基礎(神龍教主):https://pan.baidu.com/s/1qXYW02K
8. php深入:韓順平php視頻208集(看完上一步php基礎的視頻,韓順平視頻可以直接從面向對象的部分看起),用phpstorm寫代碼,學習的時候將僱員管理系統做出來
9. php100張恩民視頻:這個視頻會講一些在項目中可以直接用上的小例子,有選擇性地看,當做韓順平視頻的補充
10. thinkPHP框架:
11. http://pan.baidu.com/share/link?shareid=736026027amp;uk=2586677428#path=%252F2016%25E6%259C%2580%25E6%2596%25B0ThinkPHP密碼q3ap
12. 閱讀一遍thinkphp文檔
13. mysql:韓順平資料庫優化視頻
14. 設計資料庫:https://www.zybuluo.com/yangxitian/note/328580#5
15. 看源碼:輕會議(工作室師兄的軟體設計大賽作品、使用了smarty模板)https://github.com/Jayin/LightMeeting,博客https://github.com/MinSnake/500efuma
16. 騰訊雲伺服器:騰訊雲上有學生優惠,雲主機每月一元,可以試著把項目部署上去
17. coding:跟git類似,可以建私有倉庫,webhook
18. postman:api調試工具
19. markdown:寫API文檔
20. navicat:操作資料庫、可以遠程連接資料庫
21. 看一遍php手冊
22. 做項目fungrouping(趣組隊後台):https://github.com/lyt123/Fungrouping
23. 協議:http協議http://kb.cnblogs.com/page/130970/ ,阮一峰的兩篇文章;tcp/ip協議http://www.cnblogs.com/vamei/archive/2012/12/08/2805252.html
24. stackoverflow上php版塊的常見問題前20頁
25. Linux學習:韓順平linux教程,書籍The Linux Command Line. xshell鏈接騰訊雲伺服器上的centos.filezilla連接伺服器/虛擬機實現文件的傳送,搭建lamp
26. 韓順平頁面靜態化、dedecms視頻:(https://pan.baidu.com/s/1pLTlq0j)(https://pan.baidu.com/s/1hsdYHJe)
27. 看《modern php》
28. 設計模式:http://blog.csdn.net/xingjiarong/article/category/5974783/2 http://www.awaimai.com/patterns
29. 搭建自己的php框架:明庭令的博客https://my.oschina.net/mingtingling/blog?sort=timecatalog=263852p=3temp=1489287377123
30. 數據結構學習http://www.icourse163.org/learn/NTHU-451013?tid=522006#/learn/testlist
31. 韓順平redis/memcache視頻
32. 學習微信開發、微信支付:韓順平的視頻https://pan.baidu.com/s/1dFafNZN,再看一本書(方倍工作室的),微信支付http://blog.csdn.net/we_phone/article/details/69824924
33. 學習laravel:看了http://laravist.com上與laravel相關的幾個視頻
34. 學習工具: chrome瀏覽器;有道雲筆記:可以電腦和手機同步,做筆記,看筆記很方便;天天網盤搜百度雲教程http://www.daysou.com/;必應詞典(屏幕、圖像取詞);其他軟體:ditto、everything、qttabar
35. 一些想法:學習一樣東西盡量在連續幾天或幾個星期學習,營造大塊的時間。
36. 上面的視頻資源,在這裡基本可以找到:http://pan.baidu.com/s/1mhQZwXM(複製到瀏覽器打開,在這裡打開顯示鏈接不存在,我也不知道什麼原因-_-)


學習php的進程可能需要經歷下面這幾個階段:
(1)熟悉HTML/CSS/JS等網頁基本元素,完成階段可自行製作完整的網頁;
(2)理解動態語言的概念,運做機制,熟悉PHP語法;
(3)學習如何將PHP與HTML結合起來完成簡單動態頁面;
(4)接觸MYSQL,開始設計資料庫程序;
(5)不斷鞏固,摸透大部分PHP常用函數,並可理解OOP,MYSQL優化,以及模板;
(6)完成一個功能齊全的動態站點:php教程


如果什麼都不懂,先從資料庫吧,PHP主要是操作資料庫。剛剛整理了下,不知道能不能幫到你。


分享一個整理的Lamp(Linux+Apache+Mysql+PHP)開發技能表,之前給社團做PHP的同學準備的。目前還不是很完善,後續會有補充。
http://blog.goody365.com/lamp/Lamp%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91%E6%8A%80%E8%83%BD%E8%A1%A8v0.html


PHP不難學,難學的是一整套開發體系

Linux優化、資料庫設計及優化、互動式界面編程、前端腳本(JS或AS)與php框架整合設計等等。

這些都沒有什麼標準,需要你在工作中積累。

建議你先看《PHP MySql入門級精通》一書。

在你實際工作一段時間後,看看《PHP高級程序設計_模式、框架與測試》

當然,想拿高薪,還要把整套體系通吃才行,不必學Java簡單

PHP基礎教程 這裡有相關的視頻,樓主可以看一下。


水平提高與時間長短有一定關係,但只有在真正用心的前提下才是正相關。
不要一個人漫無目的地走,多與人交流才是最主要的。
交流方式有很多,各框架學習社區、觀摩成熟的項目都是不錯的選擇,或者直接參与開源項目的開發討論也是很好的辦法。


不知道題主所說的提高很慢,是學到了什麼程度。

就我個人來說,我本科和研究生都是學計算機的,但是各種語言真的感覺學完了還是什麼都不會....

PHP是我工作之後接觸到的,比我以前學任何一種語言都學的快,而且也是第一次覺得自己真的學會了一些。沒別的原因,只是天天用它來寫代碼,代碼量上來了,自然就提高了~


可以上http://php100.com上學習


如果僅僅學php,把php語法摸索的再精通也沒用,重要的是web開發相關的系列技術。很多概念如果新入門不懂,一定要搞明白。

  • 學習掌握常用的設計模式。注意自己代碼風格,還有學會看別人的代碼。
  • php網路開發經常遇到的概念:回調、socket、同步、非同步、阻塞等等。
  • 相關的web伺服器配置、優化。
  • php熱門前沿的框架多研究研究。那些老掉牙的老框架就不要看了,連命名空間都沒用上的。
  • 操作系統要研究研究,找找相關的書。
  • 網路協議要研究研究。
  • 再學一門強類型語言。
  • 保持一直學習。

看視頻學比較好吧!韓順平_PHP從入門到精通視頻教程配套筆記


基礎部分,那些必須記住的東西,一定要記牢,完了就是多練習了,不斷在實踐的過程中發現問題、解決問題,不斷重複這個過程。其實,一年時間,實踐多的話,應該還是很不錯的了。


學習php需要注意以下幾個點:

一、學前準備

1、建議首先要對網站有個整體的認識,對做網站需要學習的知識要有個認識,從而確定自己的學習方向,不要學一半,又覺得自己似乎不適合學這個,而半途改道,這樣很浪費時間,也不是學技術的人該有的心態。

2、PHP是什麼網上有很多資料這裡不多說了,自己一定要好好看看。由於它是開源的可以從一些網站上下載很多源碼,甚至整站源碼。但是如果你想要學的好的話,很多東西東西都是自己設計,而不是二次開發。

3、強調一下php並不是想網上一些人說的那樣簡單,它只是語法簡單,深入還是要努力。

二、學習順序

(1)熟悉HTML/CSS/JS等網頁基本元素

(2)理解動態語言的概念,運做機制,熟悉PHP語法

(3)學習如何將PHP與HTML結合起來完成簡單動態頁面

(4)接觸MYSQL,開始設計資料庫程序,學會基本對資料庫的操作

(5)學會一個模版(建議是smarty),會話控制session和cookie,ajax

(6)繼續深入學會怎麼設計一個優秀的資料庫

三、學習方法總結

1, 學習資料:一本好的書籍+配套的視頻+幾個常用的網站

2, 開發工具:記事本,eclipse,Zend Studio 。學習階段可以使用記事本,但是它的開發效率低,開發的時候要用到其他開發工具,eclipse,Zend Studio是兩款最常用的工具。Eclipse是完全免費的產品,Zend Studio(是一款集成開發軟體)是收費,但是它的破解方法很簡單。當然還有其他的開發軟體,自己可以挑選一個適合自己的。

3, 剛開始學習的時候基本上都會要學習lamp或者是wamp的環境的搭建,搭建環境的過程不是很多,但是可能會遇到很多問題(也可能你運氣好一次搭建好),千萬不要灰心,一定會解決的。

4, 在學習php的前期雖然用不到那麼多資料庫的知識,但是懂得怎麼使用它是很有必要的。等你可以開發網站後,設計一個好的資料庫就會成為一個成功的網站關鍵。

5, 在學習的過程中還要準備各種開發手冊,php手冊,mysql手冊,以及一些框架的手冊。

6, php是一種後台語言,但是在學習後台之前還需要學習前台語言,DIV+CSS,html,javascipt,以及實現非同步傳輸的ajax。

7, 學習ajax基本上是必須,但是學習它之前最好學習了javascript和xml,這樣才能從本質上了解原理。

8,有很多軟體專門用來管理和設計資料庫,這個很方便但是你一定要懂得sql語言,才能更好的設計資料庫,以及在php中用對資料庫進行相關的操作。

9,eclipse默認是不能開發php的,需要你對它進行擴展。擴展後要安裝Xdebugger或者是Zend_Debugger,安裝以後才能進行調試,調試和java調試基本一樣。

10,在學習php的過程中一定會遇到很多問題,你一定會去查找各種資料或者是別人,但是很有可能你下次遇到還是不懂,所以這就需要你要把遇到過的問題和解決方法記錄下來。


一個合格的php程序員,應該熟練使用Linux,精通MySQL或者其他關係型資料庫,再懂一些大數據優化就更好了


讀一些基礎的書,所謂 基礎的書不一定是那些 「權威,經典」,只要講解的比較全面,沒有太大錯誤就可以了,然後重點來了:動手。
多寫,多看,多研究。各種開源程序,開源框架,只要你肯用,就肯定能學到東西。
最後,開始看一些權威/高級應用的書,偏理論,底層的,到這時候,估計你才能真正理解之前你所學過的那些東西。


  學習php的方法,學東西,永遠不要妄想有速成這一說,告訴你了一個方式,但是缺少努力這一環節,那也是白搭。掌握好的學習方法非常必要,看看這篇如何學習PHP培訓的方法,在此提醒一下大家,PHP不像別的科目,自學起來相對容易。PHP是一個非常實用的開發語言。

  相信大家選擇一種語言,並不是看它的背景和悠久歷史,更重要的是看它的實用性,華而不實的語言哪怕是再輝煌的歷史,也畢將步向沒落,可喜的是PHP培訓經受住了考驗,也因此,它確實是一種值得學習的語言。

  我總結的學習php的進程可能需要經歷下面這幾個階段:

  (1)熟悉HTML/CSS/JS等網頁基本元素,完成階段可自行製作完整的網頁;

  (2)理解動態語言的概念,運做機制,熟悉PHP語法;

  (3)學習如何將PHP與HTML結合起來完成簡單動態頁面;

  (4)接觸MYSQL,開始設計資料庫程序;

  (5)不斷鞏固,摸透大部分PHP常用函數,並可理解OOP,MYSQL優化,以及模板;

(6)完成一個功能齊全的動態站點。

  我的這套線路可能跟許多學習PHP的愛好者不謀而合,這也算是一個循序漸進的學習過程,不過新手不要看到上面的概括就以為學習蠻簡單的,默默在此不得不對您稍微潑一下冷水,任何東西其實都不簡單,即使是小吃部的燒餅也不是一下子就會做成的。

  我先解釋一下我的學習思路。

  首先,理解網站這一概念之後不難看出,任何網站都是由網頁組成的,也就是說想完成網站,必須先學會做網頁,因此必須要掌握了HTML,才能為今後製作網站打下基礎。

  在學習HTML中我想邊學邊做是最有效的方式,當然這一方式對於學習PHP同樣是最有效的。

  HTML中的任何元素都要親自實踐,只有明白了什麼元素會起到什麼效果之後,你才會記憶深刻,而一味的啃書,絕對是不行的,我想大部分新手之所以覺得概念難學,大部分是一個字「懶」,懶是阻止進步的最大敵人,所以克服掉懶的習慣,才能更快的學好一樣東西。

  也許您在學習PHP的時候只想儘快的開發一個網站,也就會想我做網站,幹嘛要學什麼網頁這些小兒科不難看出,眼高手低的新手不在少數,這種思想無疑於建造空中樓閣,你不建地基,何來的房頂呢?

  OK,掌握靜態網頁的製作技術是學習開發網站的先決條件,這一點就講到這裡,因為這篇文章不是教程文章,也就不對技術進行深入的刨析了。

  我假設你目前已經可以完成一個靜態頁面了,當然,做的好看難看是另外一說,默默的第一個網頁也沒好看到哪去,但是「孩子」再丑,咱們做「爹媽」的也不能嫌棄不是?這畢竟是咱的成果。

  對於PHP的理解是新手最難邁過的一道門檻,不過你應該感到幸運的是PHP已經最大極限的為了新手而努力了,如果你學過其他的語言,也許會覺得PHP的確相當的簡單,但是如果你之前什麼都沒學過,那麼阿彌陀;佛,硬著頭皮琢磨吧。

  書過三遍自然熟,這個簡單的道理告訴我們,即使你理解不了PHP,但是也必須先跟它混個臉熟,看,一遍遍的看,看的同時一邊琢磨,一邊按照它所教的打代碼,即使你搞不清楚那些代碼到底是幹嘛的,但是起碼你應該找找感覺。

  在一段掙扎之後,聰明的你,顯然已經逐漸的開悟了,慢慢的理解了編程的概念,那麼祝賀你,你已經邁出了成功的第一步。

  搞清楚HTML和PHP的概念,那麼PHP和HTML混合編程應該不成問題,在這期間,你完全可以讓PHP給你算算一加一等於幾,然後在瀏覽器輸出,不要覺得幼稚,這的確是跟阿波羅登月一樣,你打的是一小段代碼,但是對於你的編程之路,可是邁出了一大步啊!興奮吧?但是不得不再給你潑點冷水,您還是菜鳥一個。高興一段時間就必須繼續努力了,接下來就是學習資料庫了,MYSQL可算是PHP的黃金搭檔了,不過,雖然話是這麼說,你也可能恨不得把MYSQL給生吞活剝了,因為這一行一列的東東簡直讓自己頭暈目眩。頭暈歸頭暈,目眩歸目眩,你不可能吃飯的時候咬了自己一下舌頭就從此不吃飯了不是?放下畏懼,繼續努力,咱們是來征服它的,而不是被它征服的,振奮起來吧同志。在一番搏鬥之後,你終於理解了資料庫的概念,而且讓你興奮不已的是你終於可以通過PHP來連接資料庫了,這期間你是怎麼學會的,我們不去考證了,但是事實證明,你已經可以了。

  學會了PHP和資料庫的你,無疑是左手拿著MOTOLOLA右手拿著NOKIA,要多瀟洒,有多瀟洒,哈哈,終於學會了,但是可能這個時候,又會有人不經意的拍拍肩膀對你說:哥們,別高興的太早,你還是菜鳥,離學會還差著一大截呢! 等到你發奮努力的學會了用PHP成功的插入,刪除,更新數據的時候,顯然,你已經距離成功指日可待了。


php的學習通常情況下是分階段的,零基礎學習php千萬不能急躁,按部就班的一步步的來,零基礎的話最好是從零開始,多看些入門的學習資料,像html+css這塊可以布局一個靜態的網頁,只有把這些先學好了,以後學高級課的好一點的框架才能更好的遊刃有餘學習掌握。

這是一些php入門視頻多學習,對入門學習都有一定的幫助。

PHP-PHP基礎視頻:https://pan.baidu.com/s/1dEWi3Mp

全套視頻教程:https://pan.baidu.com/s/1kUO4JYn

PHP-新課程大綱 :https://pan.baidu.com/s/1cgxWDK

PHP-WEB前端頁面製作快速入門:https://pan.baidu.com/s/1mhIxfZy


你好,你可以學習向軍老師錄製的PHP王牌課程:從入門到精通,非常詳細的
視頻封面1 PHP視頻教程 PHP基礎(一)視頻


我覺得還是要多做點項目。 多遇問題 多解決問題就能變化。


推薦閱讀:

PHP 初學者應該用哪種框架比較好?
感覺技術提高很慢,怎麼安撫浮躁的情緒?

TAG:PHP | PHP程序員 | PHP開發 | PHP學習 |