对于PHP职业的划分,我将PHP开发人员分为以下几个阶段。第一级:PHP爱好者第二级:PHP初级程序员第三级:PHP中级程序第四级人员:PHP高级程序员第五级:PHP工程师下面具体介绍PHP专业级别:PHP爱好者:定义:只是把PHP当成一种爱好,接触或了解PHP开发的相关网站。描述:这些人并不依赖PHP作为谋生手段,但他们的职业可能与PHP技术有关。例如,一些网站运营商想要了解网站的结构。还有大学生,因为课程和学术关系,很大一部分也会了解和学习PHP。特点:1:对PHP的一些基础理论略有了解。说的头头是道,做了也没用。2:技术好的可以对一些已有的网站进行简单的修改,比如dedecms开发的网站。3:热爱PHP。技术要求:无要求,不想赚钱,开心就好。PHP初级程序员的定义:刚进入PHP编程行业,以PHP为生,但经验不足的人。描述:这些人以PHP为主要谋生手段,主要是刚加入PHP程序员行列的人,有的已经干了很多年,但也只能骂老人。技术要求:1:服务器(linux:system):熟练安装linux系统,熟练使用linux常用命令和一些日常使用的命令,熟悉linux常用软件包安装2.熟练搭建lnmp(lamp)环境。熟练项目上线,域名配置3.会使用一些简单的shell维护服务器2:网页技术及相关:其实web严格来说不属于PHP技术,但是对于中小型公司来说,基本上每个PHP程序员都必须写一个简单的前端页面。精通HTML、CSS、JS、JQ,能编写简单的前端页面2.会使用前端风格框架,如layUI、Bootstrap等。3.会ajax及相关技术。可以完成普通的ajax页面制作。三:MySQL技术熟练掌握SQL语句(增删改查必备)。熟练掌握MySQL操作。包括安全、访问控制和权限、备份和恢复、复制、导入和导出记录。熟悉phpMyAdmin或Navicat等管理维护工具4:PHP技术PHP语法、常用函数等。基础不用多说,必备。面向对象(oop),简单的设计模式(单例,工厂...)必须熟悉PHP常用库,如:gd,curl等。至少熟练使用一个PHP开发框架,如tp,laravel5.对第二个项目有一定的了解,比如dedecms,ECShop。5个与实际完成有价值的PHP项目相关的项目(自行开发和玩博客不算)。或者全程参与了PHP网站的开发建设。PHP中级程序员的定义:以PHP程序为生,能够独立完成小型项目的PHP项目设计与开发。描述:这些人已经使用PHP作为他们谋生的主要手段。一般以5年以内的PHP开发者为主。也有一些老人卡在了瓶颈,还停留在这个级别,这也是PHP开发人员最多的级别。.技术要求:1:服务器操作系统(linux系统):(基本技能全部具备,高级技能全部具备初级的全部技能,下同,不再赘述)1.能够支持MySQL和Apache(nginx)进行优化,提高网站性能。2.能够配置小型服务器集群(双服务器或三服务器)。能够进行Linux系统安全配置、Iptables、syslog日志管理二:网页技术及相关:相对于前面要求不是太高,毕竟PHP是一门后端语言,我们又不是做前端开发的,前端没必要下太多功夫,当然如果会vue,node.js就更好了。三:MySQL技术1.能根据需求设计mysql数据库2.mysql原理、存储引擎、事务、视图必须熟悉3.简单的mysql语句优化也要熟悉对框架底层源码有一定的了解2.支付技术,界面开发,微信开发(现在公众号,小程序这么流行,你能不掌握吗)socket/curl网络编程也要精通3.Redis,mecached缓存使用也不错五必须-haves:项目相关1.能够比较快速的开发项目。良好的编码习惯,程序代码清晰,注释清晰。文档,10.别人不写文档11.写笔记100.别人不写笔记!PHP高级程序员定义:主要从事PHP程序,构建过多个PHP项目,有多年PHP经验,在公司担任核心职务。说明:这些人在普通程序员眼里已经是大佬了,他们的分布主要是加入PHP程序员行列5年以上的人。资深程序员是PHP项目的核心力量。技术要求:1:服务器操作系统:熟练掌握nginx、反向代理、负载均衡、集群等2、服务器安全防护游刃有余2:MySQL技术1、了解mysql底层Btree机制2、mysql索引优化,语句优化,慢查询分析,mysql锁机制3.mysql主从复制,读写分离,分库分表4.数据库中间件mycat还需要知道四:PHP技术1.PHP底层核心,PHP垃圾回收机制,对象内存优化2.微服务也有接触,swoole的使用,API结构设计,接口实现,性能优化3.并发优化方面的知识也需要。例如:redis批量查询优化,缓存击穿,缓存雪崩预防策略5:项目相关1.高级开发已经是中下游公司的核心,要求能够带领团队进行项目过程中遇到的困难可以通过新技术解决。PHP工程师的定义:PHP工程师主要从事PHP程序,并正在开发新产品。能够使用其他语言(C/GO)来帮助提高PHP程序性能的人就是PHP工程师。说明:一个PHP工程师已经是开发Ceiling,也就是俗称的架构师。技术要求:已经是行业的天花板了,技术要求我就不再分类罗列了。核心是:1.了解linux底层(所以不仅是PHP,还包括C/C++语言,go语言等一种或多种语言)2.分布式架构需要熟悉分布式缓存,分布式PRC3。消息中间件MQ,总之高并发分流,可以用其他语言来补充PHP存在的不足。附:PHP详细等级定位,看看你现在属于哪个等级:更多问题请私信咨询
