新聞中心
成為一名優(yōu)秀的PHP程序員,該如何做呢?應(yīng)該具有什么樣的技能,才算得上PHP程序員?你的技術(shù)又是在什么水平級別上?本文將列出一些作為一名PHP程序員應(yīng)該了解的事情。

MySQL能力
在開發(fā)上的應(yīng)用基于幾個能力體現(xiàn):
(1)了解:知道用PHP連接數(shù)據(jù)庫;懂得寫一些簡單的SQL;建一些簡單的索引;懂得用工具簡單操作一下數(shù)據(jù)庫(增刪改庫表結(jié)構(gòu)數(shù)據(jù)等等)。
(2)熟悉:懂得在開發(fā)應(yīng)用上設(shè)計數(shù)據(jù)庫,建立一些有效的索引,用explain分析SQL性能,壓力測試等等。
(3)很熟悉:深入了解數(shù)據(jù)庫索引、存儲引擎原理以及運行機制,能有效地構(gòu)建高性能可擴展的數(shù)據(jù)庫結(jié)構(gòu)/架構(gòu),有效地優(yōu)化數(shù)據(jù)庫性能配置并加以調(diào)試,分析數(shù)據(jù)庫運行狀態(tài)。
(4)精通:簡單地說具備以上所有能力的同時,有多年高負載分布式環(huán)境下的優(yōu)化管理經(jīng)驗。
據(jù)觀察以及交往經(jīng)驗,70%的PHPer處在了解階段,25%處于熟悉階段,>4%很熟悉,精通的人基本就不是PHPer了。
◆70%這個群體最容易忽視MySQL,以為MySQL只是簡單的存儲媒介,沒有優(yōu)化意識,認為加個內(nèi)存、CPU就能解決問題。
典型事件:join、order by、group by等語句性能一塌糊涂,數(shù)據(jù)庫根本沒有設(shè)計(僅限于拆成一個主表,N個附表等),搞不清字段類型及作用,碰到大表的復(fù)雜查詢就沒轍。
◆20%這個群體的人只是MySQL運行機制理解不透徹,對影響MySQL性能的關(guān)健因素把握不明確,不熟練。
典型事件:熟讀手冊,但說不清索引原理,不知道二叉樹、HASH等算法對于數(shù)據(jù)庫的作用
◆4%的群體已經(jīng)基本可以勝任DBA的職能。
OOP能力
(1)了解:了解變量的作用域、類型,及其意義,了解繼承機制等,懂得復(fù)用、封裝概念。
(2)熟悉:熟練應(yīng)用接口、抽象等技術(shù)混合開發(fā)程序,并理解其中含義,一般研究過Java。
(3)很熟悉:有過OOP架構(gòu)設(shè)計經(jīng)驗,熟悉設(shè)計模式、UML,熟悉PHP對象運行機制,內(nèi)容管理等。
(4)精通:應(yīng)該是架構(gòu)師級別了,不限于PHP。
經(jīng)常我們會碰到一些自稱熟悉OOP卻連public、private、protected、static都解釋不清的人,是肯定沒有經(jīng)歷過正規(guī)的OOP項目。
大型網(wǎng)站經(jīng)驗
(1)了解:熟悉PHP開發(fā)下的緩存應(yīng)用(Memcache、APC等);接觸過LVS、SQUID應(yīng)用;有一定的Session處理方案;熟悉負載均衡;熟悉PHP數(shù)據(jù)連接池應(yīng)用;了解PHP編程性能優(yōu)化。
(2)熟悉:掌握分布式緩存及緩存性能優(yōu)化、熟悉存儲系統(tǒng)、文件系統(tǒng)、數(shù)據(jù)庫,開發(fā)可擴展平臺。能結(jié)合負載均衡合理布置流量,對PHP運行性能進行監(jiān)控與分析。
(3)非常熟悉:具備系統(tǒng)分析師能力,已經(jīng)超出PHPer環(huán)節(jié);
(4)精通。
DOM開發(fā)能力
應(yīng)用能力
以上只是個人拙見,僅希望能夠以此拋磚引玉,希望大牛加以補充或更正。
當前文章:逃離偽PHP程序員應(yīng)該做的事
URL分享:http://fisionsoft.com.cn/article/copchje.html


咨詢
建站咨詢
