中級PHP程序員的進階之路

越來越多的人進入開發這個圈子,踏上碼農這個不歸路。根據這些年在開發圈子總結的LNMP程序猿發展軌跡,結合個人經驗體會,簡單梳理了中級階段PHP程序員的技術要求,來幫助很多PHP程序員做對照設定學習成長目標。

中級PHP程序員

重點:提高針對LNMP的技能,能夠更全面的對LNMP有熟練的應用。

目標:能夠隨時隨地搭建好LNMP環境,快速完成常規配置;能夠追查解決大部分遇到的開發和線上環境的問題;能夠獨立承擔中型系統的構架和開發工作;能夠在大型系統中承擔某個中型模塊的開發工作;

Linux:

在初級階段的基礎上面,能夠流暢的使用Shell腳本來完成很多自動化的工作;awk/sed/perl

也操作的不錯,能夠完成很多文本處理和數據統計等工作;基本能夠安裝大部分非特殊的Linux程序(包括各種庫、包、第三方依賴等等,比如Redis/Sphinx/xunsearch/SVN/Git之類的);了解基本的Linux服務,知道如何查看Linux的性能指標數據,知道基本的Linux下面的問題跟蹤等。

Nginx:

在初級階段的基礎上面,了解復雜一些的Nginx配置;包括多核配置、events、proxypass,sendfile/tcp*配置,知道超時等相關配置和性能影響;知道nginx除了web server,還能夠承擔代理服務器、反向靜態服務器等配置;知道基本的nginx配置調優;知道如何配置權限、編譯一個nginx擴展到nginx;知道基本的nginx運行原理(master/worker機制,epoll),知道為什么nginx性能比apache性能好等知識;

MySQL/redis:

在初級階段的基礎上面,在MySQL開發方面,掌握很多小技巧,包括常規SQL優化(group by/orderby/rand優化等);除了能夠搭建MySQL,還能夠冷熱備份MySQL數據,還知道影響innodb/myisam性能的配置選項(比如key_buffer/query_cache/sort_buffer/innodb_buffer_pool_size/innodb_flush_log_at_trx_commit等),也知道這些選項配置成為多少值合適;另外也了解一些特殊的配置選項,比如知道如何搭建mysql主從同步的環境,知道各個binlog_format的區別;知道MySQL的性能追查,包括slow_log/explain等,還能夠知道基本的索引建立處理等知識;原理方面了解基本的MySQL的架構(Server+存儲引擎),知道基本的InnoDB/MyISAM索引存儲結構和不同(聚簇索引,B樹);知道基本的InnoDB事務處理機制;了解大部分MySQL異常情況的處理方案(或者知道哪兒找到處理方案)。

Redis/Memcached:

在大部分中型系統里面一定會涉及到緩存處理,所以一定要了解基本的緩存;知道Memcached和Redis的異同和應用場景,能夠獨立安裝

Redis/Memcached,了解Memcahed的一些基本特性和限制,比如最大的value值,知道PHP跟他們的使用結合;Redis了解基本工作原理和使用,了解常規的數據類型,知道什么場景應用什么類型,了解Redis的事務等等。原理部分,能夠大概了解Memcached的內存結構(slab機制),redis就了解常用數據類型底層實現存儲結構(SDS/鏈表/SkipList/HashTable)等等,順便了解一下Redis的事務、RDB、AOF等機制更好

PHP:

除了初級階段的能力,安裝配置方面能夠隨意安裝PHP和各種第三方擴展的編譯安裝配置;了解php-fpm的大部分配置選項和含義(如max_requests/max_children/request_terminate_timeout之類的影響性能的配置),知道mod_php/fastcgi的區別;在PHP方面已經能夠熟練各種基礎技術,還包括各種深入些的PHP,包括對PHP面向對象的深入理解/SPL/語法層面的特殊特性比如反射之類的;在框架方面已經閱讀過最少一個以上常規PHP

MVC框架的代碼了,知道基本PHP框架內部實現機制和設計思想;在PHP開發中已經能夠熟練使用常規的設計模式來應用開發(抽象工廠/單例/觀察者/命令鏈/策略/適配器等模式);建議開發自己的PHP

MVC框架來充分讓開發自由化,讓自己深入理解MVC模式,也讓自己能夠在業務項目開發里快速升級;熟悉PHP的各種代碼優化方法,熟悉大部分PHP安全方面問題的解決處理;熟悉基本的PHP執行的機制原理(Zend引擎/擴展基本工作機制);

C/C++:

開始涉獵一定的C/C++語言,能夠寫基本的C/C++代碼,對基本的C/C++語法熟悉(指針、數組操作、字符串、常規標準API)和數據結構(鏈表、樹、哈希、隊列)有一定的熟悉下;對Linux下面的C語言開發有基本的了解概念,會簡單的makefile文件編寫,能夠使用簡單的GCC/GDB的程序編譯簡單調試工作;對基本的網絡編程有大概了解。(本項是為了向更高層次打下基礎)

web前端(本項不做重點學習,除非對前端有興趣):

在初級階段的基礎上面,熟悉基本的HTTP協議(協議代碼200/300/400/500,基本的HTTP交互頭);條件允許,可以在深入寫出稍微優雅的HTML+CSS+JavaScript,或者能夠大致簡單使用某些前端框架(jQuery/YUI/ExtJS/RequireJS/BootStrap之類);如果條件允許,可以深入學習JavaScript編程,比如閉包機制、DOM處理;再深入些可以讀讀jQuery源碼做深入學習。

系統設計:

能夠設計大部分中型系統的網站架構、數據庫、基本PHP框架選型;性能測試排查處理等;能夠完成類似:瀏覽器 -> CDN(Squid)

-> Nginx+PHP -> 緩存 ->

數據庫結構網站的基本設計開發維護;能夠支撐每天數百萬到千萬流量基本網站的開發維護工作。

如果你已經決定要學好PHP,找一家靠譜的培訓機構,將會讓你的學習過程事半功倍。

“年度最受信賴職業教育品牌”千鋒教育,一直秉承“用良心做教育”的理念,同期在校學員5000余人,合作院校超500所,合作企業超10000家。全國有十三個校區。數十位總監級專家講師全職授課,200余位業內強師全程面授。

“中國教育集團領先品牌”千鋒教育,關注學員和企業的雙向需求,每年為企業輸出20000+計算機精英,畢業學員占據全國移動互聯網培訓人才一半以上的份額。畢業學員平均薪資也是全行業最高。

“年度最具影響力IT教育機構”千鋒教育PHP課程的教學老師,全部來自央企及上市公司,平均從業經驗5年以上。而且千鋒教育的老師實行淘汰制,學生進行匿名投票。留下來的都是經過學生投票檢驗過的名師;

千鋒教育的PHP課程采用實戰教學和分階教學模式。課程內容緊貼名企需求,以實戰傳授理論,不談虛的,只教真的。千鋒教育力求將學員打造成具備完美職場競爭力的精英。千鋒教育也是學員項目敢上線的唯一機構。

千鋒教育PHP培訓班畢業學員,其平均年薪相比行業平均年薪,足足高出五萬。

學PHP,首選千鋒教育。千鋒教育力造IT培訓領導品牌,學員百分之九十以上都是大專以上學生,力求為你營造最優質的學習環境。

千鋒教育現更有0學費入學、 2周免費試聽、跨學科周末班限時免費送活動, 一次報名,學習雙技能,如同打了五折。歡迎你前來咨詢,試聽。

???6??

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 短信驗證碼API接口適用于電商、網站、手機APP、CRM系統整合主要應有于手機號碼驗證、短信訂單通知、支付提...
    信信客閱讀 525評論 0 0
  • 兩個好朋友因為喜歡樂器,所以約定一起學習,一起努力,一起堅持。但是其中一個比較愛玩,慢慢的就跟不上了,慢慢的也就放...
    愛吃辣的小魚仔閱讀 544評論 0 1
  • 其實這個毛病自己早就發現了,不管什么時候,什么事情,我總是想的比別人多,要的比別人多,這就導致自己太要求完美,反而...
    石榴小紀閱讀 344評論 0 1