5 如果可以的話,我建議使用linux系統,學習Vim,並且學習apache,php,mysql的編譯,不過如果你堅持用linux系統的話,那你肯定會試着自己編譯這些東西的
8 如果要深入點的話,學習PHP擴展的開發,也許你可能不會開發擴展,但如果你瞭解瞭如果開發一個擴展,你就會知道PHP並不是想很多說的那麼簡單
11 學習算法,鍛鍊思維
各個需要的知識點樓上的基本都提到了,那麼剩下的就是實踐了..
不懂得相關知識點就自己啃啃la
- php
基礎:略進階:框架各部分了解程度(路由、設計規則、數據層包裝、視圖層、可擴展等)面向對象的瞭解程度(靜態方法、變量可用範圍、抽象類、接口、繼承、克隆、魔術方法等)命名空間測試用例異常處理緩存數據(memcache、redis、模板緩存、apc等各類緩存)正則測試高級:PHP SPL設計模式(挑選兩個,比如工廠、單例講講)排序算法(挑選兩個,比如冒泡排序、插入排序講講應用點)加密算法(挑選兩個,比如sha、crc32講講應用點以及區別)測試驅動開發敏捷開發思考最優開發模式疑難問題解決方法
- 安全
分別講講XSS、CSRF原理和防範
SQL注入防範
上傳應該注意哪些問題
變量覆蓋問題
危險函數該如何處理
服務基線
安全域 - 數據庫
事務處理
各類鎖處理
分庫、主從與離線
左連接、右連接、交叉連接
SQL優化
不常用SQL函數應用
曾經遇到的坑 - Linux
挑選兩個命令,比如find、awk用法
文件排序方法(比如取某文件夾最後修改的文件並將大小顯示爲以M爲單位的)
python、shell等腳本程度
寫的比較倉促,有漏掉的再補充!
上面主要側重技術層面,其實很多技術對於一些人來說學起來很快的,所以還是人聰明或學習能力強最重要。
黃良懿,做做架構,寫寫代碼
當然,最重要的是選擇一個好的平臺,大公司流程和技術積累會比較雄厚適合學東西,小公司擔任主力開發更能發揮些,這些是不同階段上不同訴求來決定的,一般建議在足以勝任經理以上級別前,還是選擇制度健全有一定行業知名度的公司更好一些,因爲這個選擇同時也決定了你的主要交際圈;
編程思想方面,看看代碼大全、數據結構與算法,最好能結合知名開源項目的代碼和文檔閱讀來體會,比如WordPress和Zend Framework都是值得好好讀好好思考的項目;
開發效率方面,瞭解一些開源的library,先各領域選擇少數的一兩個用好用熟練再說,比如Javascript用jQuery、上傳用SWFUpload等;
相關技能根據自己的實際需要,瞭解比較重要的一些點,比如MySQL、Memcache等,先強化了解基本使用、常見問題、主要優化手段等就好,慢慢跟着主技能一起提升吧;
團隊合作的能力,一般只要願意主動承擔責任,甚至能把批評當自我提升的契機的話,提升都會很快,別人也會樂於和你合作。
此時再看看一些流行的框架,比如Yii、CakePHP等等。理解框架的思想,學着去靈活使用框架,而不是僅僅限制於框架提供給你的API。
記得當時使用ThinkPHP的時候,太多的人沒有學好PHP,甚至都不知道PEAR是什麼的情況下,直接上手。雖然利用TP提供的功能,能做出很多東西,但是遇到一些文檔中沒有說道,或者需要靈活使用的時候,根本不會。這個可以說是使用框架的悲哀。
裸寫PHP-- > 使用類-- > 理解MVC(或者理解設計模式)-- > 框架-- > 靈活使用-- > 可以隨心所欲使用設置修改框架。
這個是我認爲的一個順序,僅供參考。
匿名用戶
- 學歷將決定你的起點,尤其是腳本語言,腳本語言你要是進不了一個好的平臺,你想提高,幾乎不可能,1E數據跟1W數據完全兩回事,1E的PV跟1W的PV完全不一樣,神馬隊列,緩存,分佈式,小公司基本都是極其表面的使用,甚至在不少小公司,你50%以上的時間在整div和CSS,所以起碼一個本科學歷,沒有就去弄一個。
- c++和java起碼要熟悉一個,兩個都熟悉更好,沒見哪個技術大牛繞過這兩個了。
- 英語一定要學好,起碼讀寫要不借助工具能看懂英文專業文章,php是用來做web的,發展極快,各種新技術層出不窮,等中文文檔出來黃花菜都涼了,而且中文文檔是經過了一道手的,比起原文還是有差距。
- 多查少問,自己想方設法得到的答案更深刻,學生時代不是有句話:抄來的答案最不容易忘嗎?
- 從大到小,由面到點,不要老啃着細枝末節的東西不放,知識要放在整個項目和環境中去學。例如,學習框架的運行模式而不是隻是學具體某一個框架,任何框架隨手就用。多使用國外開源東西。
- 整理一些抽象的模型庫,比如一些框架的libary,多看多整理。
Laruence,PHP官方開發組成員
5 如果可以的話,我建議使用linux系統,學習Vim,並且學習apache,php,mysql的編譯,不過如果你堅持用linux系統的話,那你肯定會試着自己編譯這些東西的
8 如果要深入點的話,學習PHP擴展的開發,也許你可能不會開發擴展,但如果你瞭解瞭如果開發一個擴展,你就會知道PHP並不是想很多說的那麼簡單
11 學習算法,鍛鍊思維
各個需要的知識點樓上的基本都提到了,那麼剩下的就是實踐了..
不懂得相關知識點就自己啃啃la
- php
基礎:略進階:框架各部分了解程度(路由、設計規則、數據層包裝、視圖層、可擴展等)面向對象的瞭解程度(靜態方法、變量可用範圍、抽象類、接口、繼承、克隆、魔術方法等)命名空間測試用例異常處理緩存數據(memcache、redis、模板緩存、apc等各類緩存)正則測試高級:PHP SPL設計模式(挑選兩個,比如工廠、單例講講)排序算法(挑選兩個,比如冒泡排序、插入排序講講應用點)加密算法(挑選兩個,比如sha、crc32講講應用點以及區別)測試驅動開發敏捷開發思考最優開發模式疑難問題解決方法
- 安全
分別講講XSS、CSRF原理和防範
SQL注入防範
上傳應該注意哪些問題
變量覆蓋問題
危險函數該如何處理
服務基線
安全域 - 數據庫
事務處理
各類鎖處理
分庫、主從與離線
左連接、右連接、交叉連接
SQL優化
不常用SQL函數應用
曾經遇到的坑 - Linux
挑選兩個命令,比如find、awk用法
文件排序方法(比如取某文件夾最後修改的文件並將大小顯示爲以M爲單位的)
python、shell等腳本程度
寫的比較倉促,有漏掉的再補充!
上面主要側重技術層面,其實很多技術對於一些人來說學起來很快的,所以還是人聰明或學習能力強最重要。
黃良懿,做做架構,寫寫代碼
當然,最重要的是選擇一個好的平臺,大公司流程和技術積累會比較雄厚適合學東西,小公司擔任主力開發更能發揮些,這些是不同階段上不同訴求來決定的,一般建議在足以勝任經理以上級別前,還是選擇制度健全有一定行業知名度的公司更好一些,因爲這個選擇同時也決定了你的主要交際圈;
編程思想方面,看看代碼大全、數據結構與算法,最好能結合知名開源項目的代碼和文檔閱讀來體會,比如WordPress和Zend Framework都是值得好好讀好好思考的項目;
開發效率方面,瞭解一些開源的library,先各領域選擇少數的一兩個用好用熟練再說,比如Javascript用jQuery、上傳用SWFUpload等;
相關技能根據自己的實際需要,瞭解比較重要的一些點,比如MySQL、Memcache等,先強化了解基本使用、常見問題、主要優化手段等就好,慢慢跟着主技能一起提升吧;
團隊合作的能力,一般只要願意主動承擔責任,甚至能把批評當自我提升的契機的話,提升都會很快,別人也會樂於和你合作。
此時再看看一些流行的框架,比如Yii、CakePHP等等。理解框架的思想,學着去靈活使用框架,而不是僅僅限制於框架提供給你的API。
記得當時使用ThinkPHP的時候,太多的人沒有學好PHP,甚至都不知道PEAR是什麼的情況下,直接上手。雖然利用TP提供的功能,能做出很多東西,但是遇到一些文檔中沒有說道,或者需要靈活使用的時候,根本不會。這個可以說是使用框架的悲哀。
裸寫PHP-- > 使用類-- > 理解MVC(或者理解設計模式)-- > 框架-- > 靈活使用-- > 可以隨心所欲使用設置修改框架。
這個是我認爲的一個順序,僅供參考。
匿名用戶
- 學歷將決定你的起點,尤其是腳本語言,腳本語言你要是進不了一個好的平臺,你想提高,幾乎不可能,1E數據跟1W數據完全兩回事,1E的PV跟1W的PV完全不一樣,神馬隊列,緩存,分佈式,小公司基本都是極其表面的使用,甚至在不少小公司,你50%以上的時間在整div和CSS,所以起碼一個本科學歷,沒有就去弄一個。
- c++和java起碼要熟悉一個,兩個都熟悉更好,沒見哪個技術大牛繞過這兩個了。
- 英語一定要學好,起碼讀寫要不借助工具能看懂英文專業文章,php是用來做web的,發展極快,各種新技術層出不窮,等中文文檔出來黃花菜都涼了,而且中文文檔是經過了一道手的,比起原文還是有差距。
- 多查少問,自己想方設法得到的答案更深刻,學生時代不是有句話:抄來的答案最不容易忘嗎?
- 從大到小,由面到點,不要老啃着細枝末節的東西不放,知識要放在整個項目和環境中去學。例如,學習框架的運行模式而不是隻是學具體某一個框架,任何框架隨手就用。多使用國外開源東西。
- 整理一些抽象的模型庫,比如一些框架的libary,多看多整理。