题主情况:本科应届生,大三大四期间学了PHP及Web开发相关的数据库,对C、Java以及Linux的了解还比较少,在实习与工作期间参与开发过几个网站以及APP服务端接口开发。公司开发的框架主要是CI和Yii,数据库方面是MySQL、Memcache和Mongo。
目前的困惑:参与公司几个项目的开发和维护后,感觉有些止步不前,想深入一些去学习Web开发、服务器相关或其他语言。但感觉目前PHP掌握的东西还不多,所以打算去看官方的手册了解PHP中比较底层的东西。linux的学习也在计划之中。希望有经验的前辈能给些建议,比如这些知识学习的顺序、要学到何种程度以及如何通过公司已有的代码资源去学习。
回复内容:
按照你的描述,可以有3个方向:
- 设计模式,可以深入学习PHP框架,研究框架的设计和实现,学习面向对象设计模式。如何写出优雅的PHP代码,提升代码复用性,非侵入式编程,依赖注入,控制反转等。
- 系统架构,可以继续深入了解存储、缓存、队列、负载均衡器等系统架构方面的技术。学习如何解决高并发高负载问题。
- 底层技术,可以学习Linux操作系统、Socket网络通信、异步IO、多核并行,以及PHP内核与扩展的实现。
- 往死里看PHP官方手册
- CI之类框架的原理了解吗?去自己造个轮子
- YAF、swoole、hhvm之类的用过吗?
- 架构与性能(尤其注意数据库和缓存)
- 有没有深入了解过PHP内核?
- 有没有看过apache或者nginx内核?