background image

如何使用

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

来处理。