很多人会经常问我这几个问题:
1 我是新新手,我想学习PHP,该如何入门?
2 我感觉PHP的东西都知道,怎么还是写不好程序?
3 PHPer未来的发展在哪里,我该何去何从?
1 新手阶段
对于新手,你不应该抱一本厚厚的PHP实例大全去啃,
而应该先了解web运行原理,B/S(浏览器->Server)web架构交互流程。
很简单,我们都会上网吧,但是你有没有想过,当你在浏览器中输入www.taobao.com敲下回车后,
到底发生了什么,淘宝网页是怎么呈现出来的?
[简单的B/S交互流程图]
如上图(现实中的淘宝比这个复杂太多了),这里的后端程序,如果是用PHP写的(最初的淘宝就是用PHP写的),
那你就会很清楚的知道PHP应该出现在什么位置,
当你要独立开发一个web站,应该学习操作系统(windows/linux),前端(HTML/CSS/JS),后端(PHP),数据库(mysql),web服务器(apache/nginx),
所以,不应该是LNMP/LAMP,而是LHCJAPM...
这里推荐两本书《跟兄弟连学PHP》,《PHP官方文档》
跟兄弟连学PHP,这本书入门完全够了,LHCJAPM基本都涉及到了。
PS:10年时间,这本书的作者几人,硬是把兄弟连PHP培训干到新三板上市,佩服。(谁说学PHP没前途)
2 初级阶段
对于PHP初级同学,基本写PHP也1,2年了,感觉PHP的东西都知道了,真的吗?
PHP的异常处理,PHP的CLI,依赖注入,动态扩展,PHP的GC,PHP测试,SPL,反射,设计模式,PHP安全,composer。。。
这些你都用过或都熟悉吗?
再比如,你自己尝试写过框架吗?你看过开源框架的源码吗?
回到问题上,感觉PHP的东西都知道,为什么还是写不好程序?
很简单,你缺少计算机思维,我们都知道,PHPer大多数都是半路出身,
理论上,学习PHP的路线应该是:计算机基础,计算机网络,操作系统,数据库,C语言,然后再去学PHP。
如果你都了解计算机是怎么运行的,还能写不好程序?
3 高级阶段
这个阶段,如果你还叫自己是PHPer,那你再回到上面去练级吧,这个时候,你应该定位自己是程序员,是工程师。
你的关注点,应该是解决程序问题,系统问题,如何去设计系统,如何去架构系统?
比如系统为什么这么慢?为什么老出现502?
如何去设计一个高可用系统,如何做一个秒杀系统,如何去设计一个广告系统等等。
当然,除了这些,你应该了解下,开发之外的东西,如敏捷开发,DevOps,Docker,云计算,ci/cd,大数据等等。
以上,仅仅是个人观点,如果你有什么更好的意见和看法,欢迎拍砖。
【Laoyang技术工作室】用心做好技术,快速实现价值。http://laoyang.tech
欢迎加入【中小微互联网公司技术联盟】,加入请留言,或联系QQ: matrixs