成为一名
,该如何做呢?应该具有什么样的技能,才算得上 PHP
程序员?你的技术又是在什么水平级别上?本文将列出一些作为一名 PHP 程序员应该了
解的事情。
MySQL 能力
在开发上的应用基于几个能力体现:
(1)了解:知道用 PHP 连接数据库;懂得写一些简单的 SQL;建一些简单的索引;
懂得用工具简单操作一下数据库(增删改库表结构数据等等)。
(2)熟悉:懂得在开发应用上设计数据库,建立一些有效的索引,用 explain 分析
SQL 性能,压力测试等等。
(3)很熟悉:深入了解数据库索引、存储引擎原理以及运行机制,能有效地构建高
性能可扩展的数据库结构/架构,有效地优化数据库性能配置并加以调试,分析数据库运
行状态。
(4)精通:简单地说具备以上所有能力的同时,有多年高负载分布式环境下的优化
管理经验。
据观察以及交往经验,70%的 PHPer 处在了解阶段,25%处于熟悉阶段,>4%很熟悉,
精通的人基本就不是 PHPer 了。
◆70%这个群体最容易忽视 MySQL,以为 MySQL 只是简单的存储媒介,没有优化
意识,认为加个内存、CPU 就能解决问题。
典型事件:join、order by、group by 等语句性能一塌糊涂,数据库根本没有设计(仅限
于拆成一个主表,N 个附表等),搞不清字段类型及作用,碰到大表的复杂查询就没辙。
◆20%这个群体的人只是 MySQL 运行机制理解不透彻,对影响 MySQL 性能的关健
因素把握不明确,不熟练。
典型事件:熟读手册,但说不清索引原理,不知道二叉树、HASH 等算法对于数据库
的作用
◆4%的群体已经基本可以胜任 DBA 的职能。
OOP 能力
(1)了解:了解变量的作用域、类型,及其意义,了解继承机制等,懂得复用、封装
概念。
(2)熟悉:熟练应用接口、抽象等技术混合开发程序,并理解其中含义,一般研究
过 Java。
(3)很熟悉:有过 OOP 架构设计经验,熟悉设计模式、UML,熟悉 PHP 对象运行
机制,内容管理等。
(4)精通:应该是架构师级别了,不限于 PHP。