如何使用
php 开发高效的 WEB 系统
PHP 是一个很优秀的工具,它可以简单,也可以复杂。不一样的项目,应该用不一样的
PHP。
小项目-简单而直接的
PHP
一般对于一个功能页面在
20 以下的网站,我们可以用一个很简单的框架结构来写。在
这个规模上,我建议是使用比较直接的面向过程编码方法,原因很简单,没有必要把
class
文件弄的
N 多,结果 controller 里边就一个 new 就完了。当然,需求频繁变化的项目除外。
在这个级别上,
php 优点表现的很明显:快速开发,一目了然。缺点同时也被隐藏得很
好。
中型项目-结构优美的
OO 化的 PHP
对于一个中型项目,我建议使用一个良好设计的框架来做,这个框架可以是基于
MVC
模型,封装了众多底层操作的,当然,一定要有一个好的最好是透明的
cache 机制,这样
我们为了适应变化而加入的
OO 机制可以运行得更快更好。
在这个级别上。
php 的缺点开始凸现,像对 OO 支持的不完整(这个 PHP5 有很大改
进),只能单线程模式。另外一些外围工具开始出现缺乏支持,像
PHP 没有好的重构工具,
没有好的集成到
IDE 中的单元测试工具。优点当然还是原来的快速开发,广泛的可用的开
源资源。
大型项目-扩展、优化后的
PHP
这里的大型项目,简单的指分布式项目,就是说,你的程序需要被部署在
N 台服务器
上了。在这个层级上,
PHP 比起 J2EE 的确缺乏很多支持。我曾和 shadow 在 735 上详细讨论
过
PHP 要在大型系统上应用需要解决的一些问题,当然这些问题不光是 PHP 这个语言的问
题,也包括了周边开发的问题:
1PHP 的页面代码共享,PHP 的源代码被载入内存一次以后,就在其中保留-这个用
APC 和 Zend 的优化器可以搞定。
2PHP 页面之间的数据对象共享,a.php 和 b.php 之间可以共享一个数据对象,比如数
组,这个现在可以用序列化来作,但是会有文件
io,这块可以用共享内存或者 memcached
来处理。