2020年PHP程序员,如何能更进一步的提升PHP开发内功?zhuanlan.zhihu.com
对 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 程序员行列的人
为主,也有部分做了很多年,但是还只会 curd 的老人.
技术要求:
一: 服务器方面(linux:系统):
- 熟练安装 Linux 系统、熟练使用 Linux 常用命令和某些日常使用的命令、 熟悉 linux 常用软件包安装
- 熟练搭建 lnmp(lamp)环境.熟练项目上线,域名配置
- 能够使用一些简单的 shell 对服务器进行维护
二:web 页面技术及相关:
其实 web 严格来说并不属于 php 技术,但是对于中小公司而言,基本每一个 PHP
程序猿都要编写简单的前端页面.
1. 熟练掌握 HTML, CSS,JS,JQ 使用,能够编写简单的前端页面
2.会运用前端样式框架,比如 layUI,Bootstrap 等
3.会 ajax 及其相关技术.能完成常见 ajax 页面制作.
三: MySQL 技术
- 熟练掌握 SQL 语句(增删改查必备).
- 熟练掌握 MySQL 的操作.包括安全、访问控制和权限、备份和恢复,复制、 导入和导出记录.
- 熟练掌握 phpMyAdmin 或 Navicat 等管理维护工具
四:PHP 技术
- PHP 语法,常用函数等不用说,必须的基础,.
- 面对对象(oop),简单的设计模式必须(单例,工厂...)
- 熟悉 PHP 常用库,比如:gd,curl 等
- 至少熟练使用一种 PHP 开发框架,比如 tp,laravel
- 对于二开项目有一定了解,比如 dedecms,ECShop。
5 项目相关
1. 实际完成过有价值的 PHP 项目(自己开发玩的博客啥不算).或全程参与 过 php 网站开发与建设
PHP 中级程序员
定义: 正在以 PHP 程序谋生,能够独立完成小规模的 PHP 项目设计和开发 .描述: 这些人已经以 PHP 为主要谋生手段,一般是 PHP 开发五年以内的人为主, 也有部分老人一直卡瓶颈,还停留这一个级别,也是 PHP 开发人数最多的一个级别.
技术要求:
一: 服务器运行系统( linux 系统):
(初级的全部具备,高一级的需要全部具备初一级的全部技能,下同,我就不再
重复描述)
- 能够对 MySQL 和 Apache(nginx)进行优化以提升网站性能.
- 能够配置小型服务器集群(双服务器或三服务器).
- 能够进行 Linux 系统安全配置、Iptables、syslog 日志管理
二: web 页面技术及相关:
对于前段要求反而不高了,毕竟 PHP 是后端语言,我们不是做前端开发了,没
必要在前端过于投入精力,当然如果会 vue,node.js 会更好。
三: MySQL 技术
- 会根据需求设计 mysql 数据库
- mysql 原理,储存引擎,事务,视图都要会了
- 简单的 mysql 语句优化也要会了
四: PHP 技术
- 对于框架不光要会用了,框架底层源码有一定了解
- 支付技术,接口开发,微信开发(现在公众号,小程序这么火,你能不掌握么)socket/curl 网络编程也要熟练了
- redis,mecached 缓存使用也必须了
五:项目相关
1.能够较为快速的进行项目开发
1. 良好的编码习惯,编写的程序代码清晰,注释清楚
说到注释,想起了一个小段子:
程序猿最烦的 100 件事:1.写文档, 10.别人不写文档 11.写注释 100. 别人不
写注释!
PHP 高级程序员
定义: 正在以 PHP 程序为主要工作,建设过多个 PHP 项目,有多年 PHP 经验,在公司里面担任核心岗位.
描述: 这些人在普通编程人员眼里已经是大佬级别的存在了,他们的分布以加入
PHP 程序员行列 5 年以上的人为主.高级程序员是 PHP 项目的核心力量.
技术要求:
一: 服务器运行系统:
- nginx 完全熟练,反向代理,负载均衡,集群等顺手捏来
- 服务器安全防护轻松搞定
二:MySQL 技术
- 理解 mysql 底层 Btree 机制
- mysql 索引优化,语句优化,慢查询分析,mysql 锁机制
- mysql 主从复制,读写分离,分库分表
- 数据库中间件 mycat 也要会了
三: PHP 技术
- PHP 底层内核,PHP 垃圾回收机制,对象内存优化
- 微服务也要接触了,swoole 使用,API 结构设计,接口实现,性能优化
- 对于并发优化相关知识也需要会了 比如:redis 批量查询优化,缓存击穿,缓存雪崩预防策略
四: 项目相关
1.高级开发已经是中下公司的核心了,要求能够带领团队对项目中遇到的难点, 新技术都可以攻关,搞定
PHP 工程师
定义: 正在以 PHP 程序为主要工作,并正在进行新产品的研发.可以同时使用其他
语言(C/GO)等辅助提高 PHP 程序性能的人是 PHP 工程师.
描述: PHP 工程师已经是开发的天花板了,也俗称架构师.
技术要求:
都已经是行业天花板了,我就不再分类列技术要求了。
核心有:
- 对于 linux 底层了解(所以不光要会 PHP,像 C/C++语言 go 语言最好也会其中一种或多种)
- 分布式架构要会了 像分布式缓存,分布式 PRC
- 消息中间件 MQ,高并发分流
一句话,能够用其他语言来辅助弥补 PHP 不足的存在了。
附:PHP 详细等级定位,看看你现在属于第几级别:
以上内容希望帮助到大家
很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了迷茫没方向,不知道该从哪儿入手去提升自己。→→管理整理了一些资料,有 腾讯 等一线大厂进阶知识体系 可供参考(相关学习资料以及笔面试题)
覆盖各个技术栈:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货欢迎加入我的官方群点击此处
八重樱:PHP 互联网架构师成长之路*PHP「面试」终极指南zhuanlan.zhihu.com