我眼中的如何成爲一名合格的PHP高級開發工程師

轉眼間搞PHP已超過10年準確的說12年,混在帝都,也經歷過大公司小公司,有個同行朋友問我,我就思考下,如何成爲一名合格的PHP高級開發php

全部的全部僅限綜合知識,由於PHP其實內容也不少,有的人專門研究框架,你讓一個只使用框架的人去和專門研究的PK 沒有可比性。css

那麼我們開始,專門從技術角度來闡述此問題。前端

技術概述python

對應PHP開發來講最熟悉的就是lamp/lanpmysql

linux+apache/nginx/+mysql/mariadb+php/perl  其餘也確定涉及 h5+css3+jqueryjquery

這些是名義上的,可是還有不少細節的,好比如今流行的小程序 公衆號開發  這些也算是如今的範疇 至少要很熟悉由於是潮流linux

不少人抱怨老技術,就是沒有跟上時代去學習各類流行的內容,因此保持一顆上進的心是很是有必要的。  css3

 

1 apache/nginx  所謂的httpdnginx

apache的2種工做模式的區別,調試conf文件,查看日誌,多站點配置,配置文件裏面的常見代碼的意思,應該知道的。laravel

我曾經想專門把配置文件給背下來,發現比較難,經常使用纔是硬道理。在不少大公司 ,這些都是運維的事情,我們只須要上傳代碼便可,

既然你的目標是高級,那麼掌握這些是必須的。

 

2 linux   centos freebsd

各類版本的linux的隨便一個,須要熟悉到啥程度,安裝個環境,算是起步要求吧,不要求熟悉的那麼強。常見的命令cp  link   mv,環境和軟件的安裝yum源或者編譯安裝,

配置文件的在線編輯vi/vim,設置開機自啓動,進程查看,虛擬化啥的,本身感興趣就本身多學學吧,學無止境。

 

3 mysql新的版本叫mariadb

若是是涉及高級,就別提crud了,起碼數據庫的log日誌恢復,sql代碼的查詢優化,索引要求算是起步了。能夠mysql的日誌,找到慢日誌查詢,而後細節優化。

不常見的數據,分到別的庫裏面,很大的表拆分紅多個表,以前維護過DZ的時候 帖子表幾十個G了,分紅8個小的表。innodb表和myisam表的區別,各類表的字段細節的區別

int tingyint float  細節區別,這裏就不提了。

 

4 php 世界上最流行的語言

基礎就不提了,至少要會2個框架吧 一個是thinkphp 一個是laravel 雖然最新的tp5和laravel比較像。可是做爲國內和國外最流行的框架,會這倆無可厚非。其實大公司都有本身的框架,我以前從事過的幾個公司,都是有本身的框架,其實學會了以上兩者,其餘的框架相對基本都差很少,都是基於mvc模式的。

其實關於會這個詞,有點寬泛。不少人用框架都是在控制器中寫SQL,其實框架有不少細節的規範,我理解的會不要求全部都用框架的結構,可是核心的設計思想我們要遵循。

該使用的路由規則我們須要遵循,模型的東西就寫到MODEL裏面,VIEW裏面確定不能PHP代碼。

框架學會了,原生的PHP也須要會寫,因爲後期一直使用框架,最近手寫了原生的代碼,各類不適應,這個是基礎我們不能忘。

 

5 關於正則

正則這個是好東西,不少地方都會用,因此這裏提一下。

索性這個東西各處都是通用的,若是是高級的要求,那麼根據要的規則,本身經過查資料,能夠寫出正則 我以爲算是最低的要求。

要是連^$ \d [] {} 這些都看不懂的話,做爲一個高級真的不合適。

 

6 關於JS/jquery

對dom對象的元素操做要求須要會的,各類層的移動,層內的各類元素input radio的,ajax 這些都不用提了。

啥表單驗證,所有都是基礎,你確定會的。

 

7 CSS和H5和bootstrap

其實我本人的CSS比較弱,一直從事的是比較後端的工做,可是客戶確定有前端的需求,在大公司工做,這些所有有前端搞定,可是經過搜索我們也能夠解決不少問題

magin,等各類的用法我們也要理解使用。其實h5先進不少了,有不少基礎的表單了啥的校驗,沒事多看看,真的很好用。其實bootstrap是給後端用的前端框架,

不少用戶使用他開發後臺管理界面,其實bootstrap真的很好用。瞭解個前端框架吧挺好對和前端配合有很大的幫助。啥VUE 有空能夠看看。

 

8 關於API

PHP屬於後端,避免不了和安卓和IOS打交道,約定好接口的規則,我們寫好接口,而後出數據,項目細節的溝通,字段的預留。通訊安全的考慮,這些都須要瞭解到。

安卓和IOS屬於展現層,因此後端的校驗安全必定要細節。

 

9 關於流行

公衆號和小程序的開發

公衆號的開發和小程序的開發

公衆號比較多的就是支付和微信校驗,其餘的寫PHP代碼同樣,可是至少我們要寫一遍,知道這些細節。

小程序就是騰訊本身出的前端框架,我們也須要寫個練習版的,起碼知道小程序的前因後果。

 

10 想一想還有啥 那就是一些管理了

git了,svn了,這些在提感受都老到掉牙了。是老掉牙了,可是若是作爲一個高級,須要你把SVN的環境給搭建下吧,而後管理下吧,

而後發帳號給這些人吧。

 

11  關於代碼規範

爲啥要提這個,其實從代碼上  只看代碼不看代碼的細節的話。你說一個搞了3年的,和一個搞了5年的,你是真看不出區別。

可是你看代碼細節的話 就能看出來,代碼的規範方便本身也方便他人。看着寫的整潔的代碼,其實你本身也舒服。

 

12 關於http的整個操做路程

用戶在瀏覽器輸入網址到用戶看到數據,整個的請求發起和返回的流程,會很是容易幫助你解決將來的問題。

 

13 關於大流量

大流量是一套解決辦法,一些前輩屢次告誡,沒有大流量的實操經驗,身價永遠上不來,說的挺有道理。剛開始每次都說大流量,

本身也想那些大網站58了  百度了,都說怎麼轉的。其實大流量是一套解決方案,說白了不是一我的的事情。

CDN,負載均衡的設置,緩存服務器的相關,數據庫服務器的讀寫分類和分庫分表,我所涉及的也就是百萬級別的,在高咱也接觸不到。

其實如今阿里雲已經徹底實現了以上的不少功能,做爲一個老鳥,能夠經過幾天的學習和阿里雲的培訓實現以上功能。

我曾經也參加過AWS的會議,他們也有相似的解決方案,其實我估計騰訊雲和百度雲都有。

 

14 關於其餘語言

和框架須要學習2種同樣,語言怎麼也得在學一個,好比python。2種語言都對比才有傷害,從新學習一門語言對另一門語言,其實在學習的過程當中,會增長相互認識。

有人問會產生影響嗎,會影響。時間長了就習慣了。我在學習python的過程當中,才瞭解到python的強大,能夠寫電腦軟件開發遊戲,能夠寫爬蟲抓數據,還能夠寫網站。

uwsgi,u威士忌,哈哈。

 

15  最後的最後 關於一些知識

區塊鏈,網站SEO,電腦維修,dedecms,discuz,wordpress,設計模式

常見的知識,區塊鏈火了一陣我們要知道他是啥,我們須要瞭解和學習完善本身。dede和dz都不是典型MVC架構的,代碼看看調試調試是能夠通的。

wordpress也挺好的,設計模式,每次面試都考,實際上我們也不寫框架,說白了實踐機會少。鏈式模式和觀察者模式到底咋樣用。可是工廠模式是怎麼玩的我們要知道的。

類的繼承,抽象的接口是啥,抽象類,關於PHP5的設計模式有空多看看。真要本身寫框架,確定用的上。

 

16 關於架構

作了好多的項目,來了一個新項目,有目標需求,那麼你能夠來設計整個項目的架構了,好比流量需求1000萬的項目架構和搭建是如何的。

根據用戶來選擇哪一種語言,哪一種團隊人手,每一個崗位幾我的,遲早要當leader的。到時候啥都明白了。

 

17  最後寫給新人的一些話

高手不是一天練成的,光學習也是練不成高級的,大量的項目實踐才能打造足夠強大的你。當你有了在團隊中多年的項目經驗,有些職位的轉行,其實你本身就會有思考。

寫個BLOG吧,記錄本身的學習經歷,隨着年齡的增加你會發現記憶力不是想象中的好。

最後祝願各位看的人,一切順利,88.

相關文章
相關標籤/搜索