background image

PHP 程序员突破成长瓶颈 - 附学习建议 

 身边有几个做

PHP 开发的朋友,因为面试,也接触到不少的 PHP 工程师,

他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们
能破突自己,有更好的发展。

  

PHP 工程师面临成长瓶颈

  先明确我所指的

PHP 工程题,是指毕业工作后,主要以 PHP 进行 WEB 系

统的开发,没有使用其他语言工作过。工作经验大概在

3~4 年,普通的 WEB

系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得
心应手,没有什么问题。但他们会这样的物点:

除了

PHP 不使用其它的语言,可能会点 shell 脚本。

PHP 的掌握不精(很多 PHP 手册都没有看完,库除外)

知识面比较窄(面对需求,除开使用

PHP 和 mysql ,不知道其它的解

决办法)

PHP 代码以过程为主,认为面向对象的实现太绕,看不懂

  这些

PHPer 在遇到需要高性能,处理高并发,大量数据的项目或业务逻辑

比较复杂(系统需要解决多领域业务的问题)时,缺少思路。不能分析问题的本
质,技术判断力比较差,对于问题较快能找出临时的解决办法,但常常在不断
临时性的解决办法中,系统和自己一步步走向崩溃。那怎么提高自己呢?怎么可
以挑战难度更高的系统?

  更高的挑战在那里?

  结合我自己的经验,我列出一些具体挑战,让大家先有个感性的认识。

  高性能系统的挑战在哪里?

如何选择

WEB

服务器

?要不要使用

fast-cgi 模式

要不要使用反向代理服务?选择全

内存

缓存还是

硬盘

缓存?

是否需要负载均衡?是基于应用层,还是网络层?

 如何保证高可靠性?

你的

PHP 代码性能如何,使用优化工具后怎么样? 性能瓶颈在那里? 

是否需要写成

C 的扩展?

用户访问有什么特点

,是读多还是写多?是否需要读写分离?

数据如何存储?写入速度和读出速度如何?

 数据增涨访问速读如何变化?

如何使用缓存?

 怎么样考虑失效?数据的一致性怎么保证?

  高复杂性系统的挑战在哪里?