PHP的MVC框架参考实现MVC模式在Java中表现的尤为出众,不光Swing是按照MVC来设计的,而且Java的Web框架也是MVC1、MVC2的。MVC模式对于开发维护确有许多好处,所以PHP的框架,如Zend、Symfony,PHP的产品Wordpress和Joomla都应用了MVC模式。PHP不像Servlet那样有成熟的规范,如web.xml、servlet、filter等,但变换着一些把式同样能实现出优雅的MVC模式。这里简单介绍一下PHP是如何实现MVC模式,参照了了Zend的实现,我觉得还有许多改进的地方。说明的时候会拿它的各部分与Struts1的MVC相比较。在HTTP环境中的MVC模式一句话描述就是:控制器根据URI,把请求转给相应的Action,由Action调用模型方法处理或得到数据,再选择相应的视图呈现界面。用过Strutsl的请保留一些Struts1的实现原理,现在来看PHP的实现方式。本例参考了PHP高级程序设计模式、框架与测试一书中关于MVC的介绍,因本人受Struts等MVC的影响,所以对原书中的示例进行了大刀阔斧、面目全非的改造。代码