PHP的運行環境
連環境都搞不起來,就是你有多么喜歡PHP,那也是白搭,開始我們大多會使用集成環境軟件例如xampp,wamp。隨着知識的增加慢慢要學會自己搭建運行環境,例如 Linux(Ubuntu/Centos),Apache/Nginx,Mysql,Redis/Memcached,PHP-FPM
基礎知識
-
PHP編程:變量、常量、字符串、數組、控制結構、數據庫、類、繼承、多態、Cookie、Session
-
MYSQL命令:INSERT、UPDATE、DELETE、SELECT、GROUP、COUNT、JOIN、索引
有了PHP基礎之后,第一個輸出就是 Hello World 請舉手(感覺好神奇)
問:OPCODE 是什么東西?
前端知識
如果你認為PHP是后端開發工程師,那么你就錯了,最起碼目前我接觸的PHP工程師對於前端知識掌握的也是非常深的
CSS :不要求達到美工級別的切圖,看得懂會改就行,會用Debug准確定位排錯
JS:最起碼表單驗證,Jquery會使用吧
前端框架:bootstrap或者foundation 最起碼你的熟悉一個
PHP擴展
在最開始使用PHP的過程,可能完全不是擴展是什么玩意,我是知道了Memcache之后才知道原來有擴展這個概念,對於PHP擴展最基本的要求是先要學會安裝和加載,更高的要求是了解擴展的結構並實現一個簡單擴展,給大家推薦一個網站PHP擴展開發及內核應用
Web安全
SQL注入、驗證碼、刷新提交、漏洞掃描、DOS攻擊、跨域攻擊、XSS 這些都要了解下,並學會基本的防御手段,你一定會碰到這些破壞的
高性能Mysql
下雨天PHP和Mysql很配哦,對於數據庫的要求,開始是會使用基本語句就行(增刪改查),其次要有能力寫高效語句優化數據庫、分庫分表的策略、主從架構,最后需要了解索引的原理,推薦大家看一本書叫做 "高性能Mysql"
MVC框架
會使用某個框架這是最低要求了,現在那個商業公司不用框架了。希望大家可以理解MVC模式,最終可以自己實現一個簡單的MVC框架
MVC模式介紹
-
視圖
-
控制器
-
模型
-
模塊和操作
-
主入口文件
-
MVC模式應用
服務器知識
隨着了解的越來越多,發現Linux知識是必不可少的,就像七巧板,總差那么一塊。對於Linux的知識要求 我覺得以 “鳥哥的私房菜” 這本書 作為要求吧。
版本控制
做研發的版本控制很重要,因為這個牽扯到順利持續集成的進度,最開始使用的是SVN,后續換到了Git,牆裂推薦大家都要學習Git,因為目前Git已經是研發的一個基本要求了
緩存
緩存在目前互聯網的網站使用頻率非常之高,后端主要是大量使用在緩存數據庫結果集,減輕數據庫的壓力,目前主流的有Memcache 和Redis。前端大部分使用CDN,對靜態資源使用CDN可以加載更快。無論前后哪端,都是為了給用戶更好的體驗
大流量
我所接觸過的最大請求量是千萬級別的(每天),使用的架構基本都是分布式的做法,例如負載均衡
高並發
高並發目前比較流行,經常看到某某秒殺活動,關於高並發需要了解常用的幾種解決方案
學會使用IDE
不管你用什么IDE,請選擇一款適合自己的,這能大大提高你的開發效率,個人牆裂推薦PHPStorm
學會搜索
好多人都喜歡問別人這個什么問題呀,遇到的問題我建議都先搜索,只有認真確認過的確找不到解決辦法在找人問了。沒有思考和嘗試哪有成長了
應該會的功能
不是說會了這些功能,你就天下無敵,應該是基本要求了
-
登錄、注冊 模塊
-
上傳模塊
-
圖像驗證碼模塊
-
手機驗證碼模塊
-
支付系統
-
訂單系統
-
統計模塊
-
級聯刷選
-
微信公眾號開發(最好是認證的服務號)
-
商城庫存並發控制