我对PHPer的定义: PHPer是工做/程序以编写PHP程序为主,其余方面略有涉猎的人.部分由C/C++转来的人,虽然也作php程序,但工做重点还是C/C++.不能说是PHPer或者不能说是纯粹的PHPer.php
1 : 对PHPer的划分,我对PHPer划分为如下几个阶段.html
a: PHP 爱好者 (半个PHPer)linux
b: PHP 初学者 (PHP Beginner)程序员
c: PHP 初级程序员 (Primary PHP Coder)web
d: PHP 中级程序员 (Junior PHP Coder)ajax
e: PHP 高級程序员 (Senior PHP Coder)shell
f: PHP 工程师 (PHP Programmar)数据库
如下是对PHPer划分的具体描述:编程
X: PHPer的共同特色:windows
0: 会电脑,能上网.
1: 知道w3c标准,
2: 会html,会JS,会PHP.会MySQL.
3: 知道linux.见过linux运行.
不知足以上内容者别说本身是PHPer.
如下对不一样阶段的描述, 每个高级阶段都须要掌握低级阶段的技能 . 他们之间具备继承关系. 在初级阶段,因为目前国内的状况.常常须要PHPer兼美工/网管的功能.因此也写了一部分其余技能.
a: PHP 爱好者
定义: 以PHP程序为业余爱好,建有或正维护着一个或几个使用PHP技术实现的网站/程序的人是PHP 爱好者.
描述: 这些人通常不以PHP为谋生手段,他们的分布以网站站长及在校学生为主.
特征: 1: 会用dreamweaver/frontpage等工具制做网页.
2: 能够对现成PHP程序进行修改.
3: 爱好PHP.
技术要求: 无.
b: PHP 初学者 (PHP Beginner)
定义: 准备以PHP程序谋生,准备建设或正在维护一个或几个使用PHP技术实现的网站/程序的人是PHP 初学者 (PHP Beginner).
描述: 这些人已经或即将以PHP为主要谋生手段,他们的分布以即将毕业的大学生及刚刚加入PHP 程序员行列的人为主http://open.189works.com/product/product.htm
特征: 1: 可以简单维护/操做/优化linux.
2: 可以编写PHP程序.
3: 会MySQL.
4: 会html/js.
5: 可以构建符合W3C标准的页面.
6: 可以胜任简单的服务器维护工做.
技术要求:
1: 服务器运行系统:
a: linux:
I: 可以安装Linux系统,熟练使用Linux经常使用命令,知道Vim文本编辑器,会软件包管理.
II: 可以实际操做用户管理,进程管理,文件系统管理,权限管理功能
III: 知道并会使用Linux网络配置相关文件,基本配置命令,DHCP,VNC,DNS服务器,Samba服务器. 能成功配置并使如下服务平稳运行.SSH,FTP,Apache,站点登陆控制,日志管理.
IV: 可以使用shell对服务器进行维护.
V: 可以进行Linux系统安全配置,Iptables,syslog日志管理
b: windows:
仅为初学者和初级程序员要求.
I: 可以安装windows,熟练使用windows,可以对IIS进行优化.
II: 可以正确配置防火墙,对服务器进行管理维护.
III: 可以抵御普通的网络***.
2 web页面技术及相关:
其实这不该该算是PHP的技术.但实际工做中,大部分PHP初学者都须要兼前台/后台/网管的角色.故在此提出,仅供参考.
I: 熟练掌握HTML, Dreamweaver,经常使用标签,图象地图,表格,分桢框架,单,Header处理,CSS, 样式表的分类,样式则规器使用,经常使用的样式,层标签,JavaScript
II: 各类事件及事件处理程序的应用,window对象,document对象,location对象,body对象,form对象,form表单字段元素对象
III: ajax及其相关技术.能完成常见ajax页面制做
3 MySQL技术
I: 熟练掌握SQL语句.
II: 熟练掌握MySQL的经常使用操做.包括安全,访问控制和权限,备份和恢复,复制,导入和导出记录.
III: 熟练掌握 phpMyAdmin或任意一种MySQL管理维护工具.
4 PHP技术
I: 熟练掌握PHP语法,经常使用函数.
II: 熟悉PHP的面向对象编程.并能实际使用面向对象思想进行程序写做.
III: 熟悉PHP经常使用库.
c: PHP 初级程序员 (Primary PHP Coder)
定义: 正在以PHP程序谋生,正在建设或维护一个或几个使用PHP技术实现的网站/程序的人,PHP经验有限的人是PHP初级程序员.
描述: 这些人已经以PHP为主要谋生手段,他们的分布以刚刚加入PHP 程序员行列的人为主,也有部分加入PHP行列若干年的人.
特征: 1: 可以维护/操做/优化linux.
2: 熟练编写PHP程序.
3: 熟练掌握MySQL.
4: 会html/js.
5: 可以快速构建符合W3C标准的页面.
6: 可以胜任大部分服务器维护工做.
技术要求:
1: 服务器运行系统:
a: linux:http://open.189works.com/product/product.htm
I: 熟练安装Linux系统,熟练使用Linux经常使用命令和某些平常使用的命令,掌握软件包管理.
II: 可以熟练操做用户管理,进程管理,文件系统管理,权限管理功能
III: 可以熟练使用Linux网络配置相关文件,基本配置命令,DHCP,VNC,DNS服务器,Samba服务器. 能快速的配置并使如下服务平稳运行.SSH,FTP,Apache,站点登陆控制,日志管理.
IV: 可以对MySQL和Apache进行必定的优化以提高网站性能.
V: 可以使用shell对服务器进行维护.熟练使用经常使用的维护工具.
VI: 可以进行Linux系统安全配置,Iptables,syslog日志管理
b: windows:
仅为初学者和初级程序员要求.
I: 可以安装windows,熟练使用windows,可以对IIS进行优化.
II: 可以正确配置防火墙,对服务器进行管理维护.
III: 可以抵御普通的网络***.
2 web页面技术及相关:
其实这不该该算是PHP的技术.但实际工做中,大部分初级PHP程序员在公司里都须要兼前台/后台/网管的角色.故在此提出,仅供参考.
I: 熟练掌握HTML, Dreamweaver,经常使用标签,图象地图,表格,分桢框架,表单,Header处理,CSS, 样式表的分类,样式则规器使用,经常使用的样式,层标签,JavaScript
II: 各类事件及事件处理程序的应用,window对象,document对象,location对象,body对象,form对象,form表单字段元素对象
III: ajax及其相关技术.能完成常见ajax页面制做.
IV: 会photoshop在内的一种或多种图片编辑软件
3 MySQL技术
I: 熟练掌握SQL语句.
II: 熟练掌握MySQL的操做.包括安全,访问控制和权限,备份和恢复,复制,导入和导出记录.
III: 熟练掌握 phpMyAdmin或任意一种MySQL管理维护工具.
IV: 知道MySQL常见性能瓶颈的缘由及解决方法.并能实际解决.
4 PHP技术
I: 熟练掌握PHP语法,经常使用函数.
II: 熟悉PHP的面向对象编程.并能实际使用面向对象思想进行程序.
III: 熟悉php面向对象的特性.可以根据实际运行环境选择开发方法.
IV: 熟悉PHP经常使用库.可以使用经常使用的php库进行项目开发.
V: 拥有良好的编码格式习惯,能够规范的进行代码编写.
5 项目相关
I: 实际完成过PHP项目.或全程参与过php网站开发与建设.
II: 可以较为快速的进行项目开发.
d: PHP 中级程序员 (Junior PHP Coder)
定义: 正在以PHP程序谋生,正在建设或维护一个或几个使用PHP技术实现的网站/程序的人,有几年PHP经验可是还没有积累必要的代码库和快速开发工具的人是PHP 中级程序员 .
描述: 这些人已经以PHP为主要谋生手段,他们的分布以加入PHP 程序员行列5年内的人为主,也有部分加入PHP行列更多年的人.
特征:
1: 能熟练维护/操做/优化linux.
2: 快速编写结构清晰,代码格式优美的PHP程序.
3: 熟练掌握MySQL的操做和经常使用优化.
4: 熟悉程序性能的出现瓶颈的常见缘由,并能在实际编写过程当中避免出现性能瓶颈.
5: 可以使用某些框架/类库加速项目开发进度.
6: 可以胜任大部分服务器维护工做.
技术要求:
1: 服务器运行系统:
a: linux:
I: 熟悉操做一种版本linux,并能对此版本的linux进行一些调整优化
II: 可以进行不停机维护升级.
III: 可以熟练使用Linux命令行下操做.
IV: 可以对MySQL和Apache进行优化以提高网站性能.
V: 可以配置小型服务器集群(双服务器或三服务器).
VI: 可以进行Linux系统安全配置,Iptables,syslog日志管理
2 web页面技术及相关:
到中级程序员,通常公司都有专门的美工和前台程序员配合工做.故页面制做技术要求同初级程序员.
I: 熟悉常见的通讯标准.能够根据手册编写出符合通讯标准的程序.
3 MySQL技术
I: 熟练掌握SQL语句.
II: 熟练掌握MySQL的操做.包括安全,访问控制和权限,备份和恢复,复制,导入和导出记录.
III: 熟练掌握 phpMyAdmin或任意一种MySQL管理维护工具.
IV: 知道MySQL性能瓶颈的缘由及解决方法.并能实际解决.
4 PHP技术
I: 熟练掌握PHP语法,经常使用函数.
II: 熟悉PHP的面向对象编程.并能实际使用面向对象思想进行程序.
III: 熟悉php面向对象的特性.可以根据实际运行环境选择开发方法.
IV: 熟悉PHP经常使用库.可以使用经常使用的php库进行项目开发.
V: 拥有良好的编码格式习惯,能够规范的进行代码编写.
5 项目相关
I: 实际完成过PHP项目.或全程参与过php网站开发与建设.
II: 可以较为快速的进行项目开发.
III: 有本身的代码库.能够在项目中进行复用
IV: 造成了良好的编码习惯,编写的程序代码清晰,注释清楚.
V: 可以对项目中的难点与新技术进行攻关.
e: PHP 高級程序员 (Senior PHP Coder)
定义: 正在以PHP程序为主要工做,建设过多个PHP项目,正在建设或维护一个或几个使用PHP技术实现的网站/程序的人,有多年PHP经验,有本身的代码库和快速开发工具的人是PHP 高级程序员.
描述: 这些人已经以PHP为主要谋生手段,他们的分布以加入PHP 程序员行列5年以上的人为主.高级程序员是PHP项目的核心力量.
特征:
1: 能熟练维护/操做/优化linux.
2: 快速编写结构清晰,代码格式优美的PHP程序.
3: 熟练掌握MySQL的操做/优化和多数据库.
4: 可以快速查出程序性能的出现瓶颈的缘由,并能根据实际状况进行调整.
5: 可以使用框架/类库加速项目开发进度.
6: 有本身的代码库.
7: 可以胜任大部分服务器维护工做.
技术要求:
1: 服务器运行系统:
a: linux:
I: 熟悉操做一种版本linux,并能对此版本的linux进行一些调整优化
II: 可以进行不停机维护升级.
III: 可以熟练使用Linux命令行下操做.
IV: 可以对MySQL和Apache进行优化以提高网站性能.
V: 可以配置和优化服务器集群.
VI: 可以进行Linux系统安全配置,Iptables,syslog日志管理
2 MySQL技术
I: 精通SQL语句.
II: 熟练掌握MySQL的操做.
III: 熟练掌握 phpMyAdmin或任意一种MySQL管理维护工具.
IV: 可以根据实际运行状况对数据库瓶颈进行调整,并适时改变开发方法.
4 PHP技术
I: 精通PHP语法,经常使用函数.并有本身专一的方向.
II: 熟练使用PHP的面向对象编程.并能实际使用面向对象思想进行程序.
III: 熟悉php面向对象的特性.可以根据实际运行环境选择开发方法.
IV: 实际使用工厂化开发等开发方法进行项目开发.可以使用PHP的特性提高开发速度和程序运行速度.
V: 有本身的代码库,有本身熟悉兵精通的某些共用类库.
VI: 拥有良好的编码格式习惯,能够规范的进行代码编写.
5 项目相关
I: 实际完成过多个不一样方面的PHP项目.
II: 可以快速的进行项目开发.
III: 有本身的代码库.能够在项目中使用代码库进行快速开发.
IV: 造成了良好的编码习惯,编写的程序代码清晰,注释清楚.
V: 可以领导程序员对项目中的难点与新技术进行攻关.
VI: 熟悉软件工程,可以根据实际状况选用适当的开发模式.
f: PHP 工程师 (PHP Programmar)
定义: 正在以PHP程序为主要工做,并正在进行新产品的研发.能够同时使用C+/perl等辅助提升PHP程序性能的人是PHP工程师.
描述: PHP工程师是.
特征:
1: 精通一种或多种linux.
2: 快速编写结构清晰,代码格式优美的PHP程序.
3: 可以进行框架级通用程序的研发.
4: 可以在程序开发初期就经过项目规划避免将来可能出现的性能瓶颈.
5: 可以使用框架/类库加速项目开发进度.
6: 有本身的代码库.
7: 可以胜任大部分服务器和部分服务器集群优化工做.
技术要求我就不说了.具体到PHP中级程序员以后,PHP程序员就开始选择发展方向进行分化了.可以到这一步的人,基本都对本身的职业规划有清晰的认识.目前国内此类人才奇少.
关于其余:
1 PHP程序员从中级程序员阶段就开始分化,具体方向根据公司性质,工做条件,本身的兴趣等不一而同.所以须要擅长的详细技能也不太相同.
例如: 公司使用 joomla 构建网站, 这就要求程序员必须精通joomla. 若是公司使用自研CMS+discuz构建网站,这就要求程序员可以熟练进行DISCUZ的二次开发.强行要求程序员精通这精通那,意义不大.
到高级程序员开始.PHP程序员因为本身的职业经历.确定会有本身的专攻方向,有人擅长大负载下程序开发优化,有人擅长项目快速开发.而到这个阶段,若是PHP程序员还须要看这篇文章规划本身的职业生涯.那么请本身列出本身擅长的PHP技术.并选择一种最擅长的技术专攻.
2 关于coder和programmar. 字面上理解第一个是编码员,第二个是程序员.实际由于国内名词的混乱.第一个大多以程序员称呼,第二个目前大多处于项目核心领导层面.故本文暂以工程师称呼.
coder 是进行少许创新的,大量重复工做的人.programmar 是进行新技术摸索开发,并实际领导/带领大中型项目开发的人.
3 关于 C++ . PHP初期的语法(php3/4时代)和C几乎同样.我当初就是看一下午PHP速成+php手册入的门.但到必定深度以后.有些PHP的特性须要实际阅读PHP源码才能理解(相关文档不全或者很差找到).有些实际项目功能使用C++开发远比PHP效率高.好比我如今作的项目须要爬虫持续海量抓取,当带宽足够的状况时,纯使用PHP实现效率不高.因此必须使用C++. 因此C++到须要用的时候天然而然的就要用了.不过若是有C/C++的基础,学习PHP要轻松不少.
4 关于面向对象.面向对象仍是很帅的,小型工程上使用意义不大,大中型工程能够极大的提高开发效率.在php4的时代对面向对象基本没有什么要求,可是如今须要完整掌握面向对象.
5 关于JAVA/Delphi 他们和php有关么? 我孤陋寡闻.请牛人指教.谢谢
6 关于软件工程. 软件工程是一个实际使用中才能学懂的学科.我才疏学浅,在大学的时候楞没学懂.等实际领导项目了.才慢慢的明白其中的含义与奥妙.
8 关于开发模式. 开发模式的好坏直接关系这项目开发的速度与项目的质量.初期死抠模式意义不大.建议有必定积累了再说.
9 关于名气. 嗯...怎么说呢?高端PHP圈子很小,也就那么些人.水平到了,天然就认识那些人了.
10 关于第三方库,初期学习掌握一些,好比smarty.到必定阶段须要决定究竟是精通第三方库仍是使用自行积累开发的库.总的来讲,因为第三方库大可能是外国人开发,因此国内想要时刻紧跟比较被动,phpBB中文的没落即是一例.若是使用自行积累开发的库,难度较大,要注意通用性和可扩展性.
11 关于英文. 这个是废话.最低要求是流畅阅读英文文档.