PHP 程序员突破成长瓶颈 - 附学习建议
身边有几个做
PHP 开发的朋友,因为面试,也接触到不少的 PHP 工程师,
他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们
能破突自己,有更好的发展。
PHP 工程师面临成长瓶颈
先明确我所指的
PHP 工程题,是指毕业工作后,主要以 PHP 进行 WEB 系
统的开发,没有使用其他语言工作过。工作经验大概在
3~4 年,普通的 WEB
系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得
心应手,没有什么问题。但他们会这样的物点:
•
除了
PHP 不使用其它的语言,可能会点 shell 脚本。
•
对
PHP 的掌握不精(很多 PHP 手册都没有看完,库除外)
•
知识面比较窄(面对需求,除开使用
PHP 和 mysql ,不知道其它的解
决办法)
•
PHP 代码以过程为主,认为面向对象的实现太绕,看不懂
这些
PHPer 在遇到需要高性能,处理高并发,大量数据的项目或业务逻辑
比较复杂(系统需要解决多领域业务的问题)时,缺少思路。不能分析问题的本
质,技术判断力比较差,对于问题较快能找出临时的解决办法,但常常在不断
临时性的解决办法中,系统和自己一步步走向崩溃。那怎么提高自己呢?怎么可
以挑战难度更高的系统?
更高的挑战在那里?
结合我自己的经验,我列出一些具体挑战,让大家先有个感性的认识。
高性能系统的挑战在哪里?
•
如何选择
WEB
fast-cgi 模式
•
•
是否需要负载均衡?是基于应用层,还是网络层?
如何保证高可靠性?
•
你的
PHP 代码性能如何,使用优化工具后怎么样? 性能瓶颈在那里?
是否需要写成
C 的扩展?
•
用户访问有什么特点
,是读多还是写多?是否需要读写分离?
•
数据如何存储?写入速度和读出速度如何?
数据增涨访问速读如何变化?
•
如何使用缓存?
怎么样考虑失效?数据的一致性怎么保证?
高复杂性系统的挑战在哪里?