這裡是文章模塊欄目内容頁

亚博网站网址

衆所周知,php是一門web端開發語言,目前全世界有70%以上的網站都使用php開發,而國内有90%以上的網站使用php開發,php語言非常受歡迎,那麼一名php程序員需要掌握的技術有哪些?我想這個問題是計劃學習php和正在學習php的同學最想了解的,現在小編給大家介紹一名合格的php程序員需要掌握的具備技能。

php程序员需要掌握的技术有哪些?

php程序員需要掌握的技術有哪些?

一、Linux

1、至少要知道Linux一些常用命令,例如cd、ls、top、ps等;

2、熟悉Shell腳本的編寫,能熟練配置crontab定時腳本;

3、使用Awk、Sed等命令處理文本和統計命令;

4、常用的軟件的安裝,如MySQL、Nginx、PHP等。

二、Nginx / Apache

1、要熟悉Nginx / Apache進程模型,以及二者的區别;

2、了解Nginx / Apache的基本配置,以及在Linux上的安裝和操作命令;

3、知道如何基于Nginx / Apache搭建PHP的開發環境;

4、知道Nginx / Apache如何與PHP進行交互。

三、MySQL

1、熟悉SQL語句,以及表的增删改查;

2、熟悉SQL語句的優化方法,以及如何分析SQL語句的執行效率;

3、知道如何創建索引,并且了解索引的原理;

4、了解MySQL的數據備份方法,以及主從同步原理。

四、Redis

1、熟悉Redis的基本類型,以及适用場景;

2、熟悉Redis的常用操作命令;

3、熟悉Redis如何跟PHP結合使用;

4、熟悉Redis的基本原理,以及Redis中常見的數據結構;

5、了解Redis與Memcache有什麼區别。

五、PHP

1、安裝配置方面能夠随意安裝PHP和各種第三方擴展的編譯安裝配置;

2、了解php-fpm的大部分配置選項和含義(如 max_requests/max_children/request_terminate_timeout之類的影響性能的配置),知道mod_php /fastcgi的區别;

3、在PHP方面已經能夠熟練各種基礎技術,還包括各種深入些的PHP,包括對PHP面向對象的深入理解/SPL/語法層面的特殊特 性比如反射之類的;

4、在框架方面已經閱讀過最少一個以上常規PHP MVC框架的代碼了,知道基本PHP框架内部實現機制和設計思想;在PHP開發中已經能夠熟練使用常規的設計模式來應用開發(抽象工廠/單例/觀察者/命令鍊/策略/适配器 等模式);

5、建議開發自己的PHP MVC框架來充分讓開發自由化, 讓自己深入理解MVC模式,也讓自己能夠在業務項目開發裡快速升級;

6、熟悉PHP的各種代碼優化方法,熟悉大部分PHP安全方面問題的解決處理;

7、熟悉基本的PHP執行的機制原理(Zend引擎/擴展基本工作機制);

8、至少熟悉3中以上PHP開發框架,如ThinkPHP、Yii2、Laravel等;

9、了解各個PHP框架的優缺點。

六、PHP框架

1、至少熟悉3中以上PHP開發框架,如ThinkPHP、Yii2、Laravel等;

2、至少看過一種PHP框架的源碼;

3、熟悉PHP框架中涉及到的設計模式;

4、了解各個PHP框架的優缺點。

七、 前端:

 深入了解HTTP協議(包括各個細緻協議特殊協議代碼和背後原因,比如302靜态文件緩存了,502是nginx後面php挂了之類的);除了之前的前端 方面的各種框架應用整合能力,前端方面的學習如果有興趣可以更深入,表現形式是,可以自己開發一些類似jQuery的前端框架,或者開發一個富文本編輯器 之類的比較瑣碎考驗JavaScript功力。

七、其他專業方向學習:

除了會基本的LNMP技能之外,會考慮一些其他領域知識的學習,這些都是可以的,看個人興趣和長期的目标方向。目前情況能夠選擇的領域比較多,比如C語言、C++、雲計算(分布式存儲、分布式計算、虛拟機等),機器學習(數據挖掘、模式識别等,應用到統計、個性化推薦),自然語言處理(中文分詞等),搜索 引擎技術、圖形圖像、語音識别等等。除了這些高大上的,也有很多偏工程方面可以學習的地方,比如高性能系統、移動開發(Android/IOS)、計算機 安全、嵌入式系統、硬件等方向。

八、系統設計:

 系統設計在有一定php開發技術基礎之上,能夠應用掌握的經驗技能,設計出比較複雜的中大型系統,能夠解決大部分線上的各種複雜系統的問題,完成類似 浏覽 器 -> CDN -> 負載均衡 ->接入層 -> Nginx+PHP -> 業務緩存 -> 數據 庫 -> 各路複雜後端RPC交互(存儲後端、邏輯後端、反作弊後端、外部服務) -> 更多後端 醬紫的複雜業務;能夠支撐每天數千萬到數 億流量網站的正常開發維護工作。

php學習建議:

框架太多了,有一個用着,先用熟練,因為框架思想區别不大。用熟悉一個,再看其他,就容易多。看那麼多,沒有一個熟悉的,還是什麼也不知道。框架還是要用熟悉才行,然後才是産品如何設計,mysql性能真的有專業DBA。mysql還有商業引擎,性能本身就好。大公司直接上oracle或者自己寫mysql引擎了,小公司就是用用緩存,mysql再好,php接mysql等待的時間還是太長。