转眼间搞PHP已超过10年准确的说12年,混在帝都,也经历过大公司小公司,有个同行朋友问我,我就思考下,如何成为一名合格的PHP高级开发php
全部的全部仅限综合知识,由于PHP其实内容也不少,有的人专门研究框架,你让一个只使用框架的人去和专门研究的PK 没有可比性。css
那么我们开始,专门从技术角度来阐述此问题。前端
技术概述python
对应PHP开发来讲最熟悉的就是lamp/lanpmysql
linux+apache/nginx/+mysql/mariadb+php/perl 其余也确定涉及 h5+css3+jqueryjquery
这些是名义上的,可是还有不少细节的,好比如今流行的小程序 公众号开发 这些也算是如今的范畴 至少要很熟悉由于是潮流linux
不少人抱怨老技术,就是没有跟上时代去学习各类流行的内容,因此保持一颗上进的心是很是有必要的。 css3
1 apache/nginx 所谓的httpdnginx
apache的2种工做模式的区别,调试conf文件,查看日志,多站点配置,配置文件里面的常见代码的意思,应该知道的。laravel
我曾经想专门把配置文件给背下来,发现比较难,经常使用才是硬道理。在不少大公司 ,这些都是运维的事情,我们只须要上传代码便可,
既然你的目标是高级,那么掌握这些是必须的。
2 linux centos freebsd
各类版本的linux的随便一个,须要熟悉到啥程度,安装个环境,算是起步要求吧,不要求熟悉的那么强。常见的命令cp link mv,环境和软件的安装yum源或者编译安装,
配置文件的在线编辑vi/vim,设置开机自启动,进程查看,虚拟化啥的,本身感兴趣就本身多学学吧,学无止境。
3 mysql新的版本叫mariadb
若是是涉及高级,就别提crud了,起码数据库的log日志恢复,sql代码的查询优化,索引要求算是起步了。能够mysql的日志,找到慢日志查询,而后细节优化。
不常见的数据,分到别的库里面,很大的表拆分红多个表,以前维护过DZ的时候 帖子表几十个G了,分红8个小的表。innodb表和myisam表的区别,各类表的字段细节的区别
int tingyint float 细节区别,这里就不提了。
4 php 世界上最流行的语言
基础就不提了,至少要会2个框架吧 一个是thinkphp 一个是laravel 虽然最新的tp5和laravel比较像。可是做为国内和国外最流行的框架,会这俩无可厚非。其实大公司都有本身的框架,我以前从事过的几个公司,都是有本身的框架,其实学会了以上两者,其余的框架相对基本都差很少,都是基于mvc模式的。
其实关于会这个词,有点宽泛。不少人用框架都是在控制器中写SQL,其实框架有不少细节的规范,我理解的会不要求全部都用框架的结构,可是核心的设计思想我们要遵循。
该使用的路由规则我们须要遵循,模型的东西就写到MODEL里面,VIEW里面确定不能PHP代码。
框架学会了,原生的PHP也须要会写,因为后期一直使用框架,最近手写了原生的代码,各类不适应,这个是基础我们不能忘。
5 关于正则
正则这个是好东西,不少地方都会用,因此这里提一下。
索性这个东西各处都是通用的,若是是高级的要求,那么根据要的规则,本身经过查资料,能够写出正则 我以为算是最低的要求。
要是连^$ \d [] {} 这些都看不懂的话,做为一个高级真的不合适。
6 关于JS/jquery
对dom对象的元素操做要求须要会的,各类层的移动,层内的各类元素input radio的,ajax 这些都不用提了。
啥表单验证,所有都是基础,你确定会的。
7 CSS和H5和bootstrap
其实我本人的CSS比较弱,一直从事的是比较后端的工做,可是客户确定有前端的需求,在大公司工做,这些所有有前端搞定,可是经过搜索我们也能够解决不少问题
magin,等各类的用法我们也要理解使用。其实h5先进不少了,有不少基础的表单了啥的校验,没事多看看,真的很好用。其实bootstrap是给后端用的前端框架,
不少用户使用他开发后台管理界面,其实bootstrap真的很好用。了解个前端框架吧挺好对和前端配合有很大的帮助。啥VUE 有空能够看看。
8 关于API
PHP属于后端,避免不了和安卓和IOS打交道,约定好接口的规则,我们写好接口,而后出数据,项目细节的沟通,字段的预留。通讯安全的考虑,这些都须要了解到。
安卓和IOS属于展现层,因此后端的校验安全必定要细节。
9 关于流行
公众号和小程序的开发
公众号的开发和小程序的开发
公众号比较多的就是支付和微信校验,其余的写PHP代码同样,可是至少我们要写一遍,知道这些细节。
小程序就是腾讯本身出的前端框架,我们也须要写个练习版的,起码知道小程序的前因后果。
10 想一想还有啥 那就是一些管理了
git了,svn了,这些在提感受都老到掉牙了。是老掉牙了,可是若是作为一个高级,须要你把SVN的环境给搭建下吧,而后管理下吧,
而后发帐号给这些人吧。
11 关于代码规范
为啥要提这个,其实从代码上 只看代码不看代码的细节的话。你说一个搞了3年的,和一个搞了5年的,你是真看不出区别。
可是你看代码细节的话 就能看出来,代码的规范方便本身也方便他人。看着写的整洁的代码,其实你本身也舒服。
12 关于http的整个操做路程
用户在浏览器输入网址到用户看到数据,整个的请求发起和返回的流程,会很是容易帮助你解决将来的问题。
13 关于大流量
大流量是一套解决办法,一些前辈屡次告诫,没有大流量的实操经验,身价永远上不来,说的挺有道理。刚开始每次都说大流量,
本身也想那些大网站58了 百度了,都说怎么转的。其实大流量是一套解决方案,说白了不是一我的的事情。
CDN,负载均衡的设置,缓存服务器的相关,数据库服务器的读写分类和分库分表,我所涉及的也就是百万级别的,在高咱也接触不到。
其实如今阿里云已经彻底实现了以上的不少功能,做为一个老鸟,能够经过几天的学习和阿里云的培训实现以上功能。
我曾经也参加过AWS的会议,他们也有相似的解决方案,其实我估计腾讯云和百度云都有。
14 关于其余语言
和框架须要学习2种同样,语言怎么也得在学一个,好比python。2种语言都对比才有伤害,从新学习一门语言对另一门语言,其实在学习的过程当中,会增长相互认识。
有人问会产生影响吗,会影响。时间长了就习惯了。我在学习python的过程当中,才了解到python的强大,能够写电脑软件开发游戏,能够写爬虫抓数据,还能够写网站。
uwsgi,u威士忌,哈哈。
15 最后的最后 关于一些知识
区块链,网站SEO,电脑维修,dedecms,discuz,wordpress,设计模式
常见的知识,区块链火了一阵我们要知道他是啥,我们须要了解和学习完善本身。dede和dz都不是典型MVC架构的,代码看看调试调试是能够通的。
wordpress也挺好的,设计模式,每次面试都考,实际上我们也不写框架,说白了实践机会少。链式模式和观察者模式到底咋样用。可是工厂模式是怎么玩的我们要知道的。
类的继承,抽象的接口是啥,抽象类,关于PHP5的设计模式有空多看看。真要本身写框架,确定用的上。
16 关于架构
作了好多的项目,来了一个新项目,有目标需求,那么你能够来设计整个项目的架构了,好比流量需求1000万的项目架构和搭建是如何的。
根据用户来选择哪一种语言,哪一种团队人手,每一个岗位几我的,迟早要当leader的。到时候啥都明白了。
17 最后写给新人的一些话
高手不是一天练成的,光学习也是练不成高级的,大量的项目实践才能打造足够强大的你。当你有了在团队中多年的项目经验,有些职位的转行,其实你本身就会有思考。
写个BLOG吧,记录本身的学习经历,随着年龄的增加你会发现记忆力不是想象中的好。
最后祝愿各位看的人,一切顺利,88.