现在PHP中的MVC架构可以用图一来表示。
然后我们再来看V。现在很多PHP程序简单的使用了一些模板技术就在说明中写“采用MVC架构”。其实绝大多数的PHP模板程序都只是分离HTML和PHP的,而非MVC强调的显示逻辑和业务逻辑分离。一个混用HTML和PHP的页面一样可以是MVC的一部份。如何分离显示逻辑和业务逻辑至今没有一个满意的方案。我个人则比较认同http://www.phpe.net/articles/384.shtml的实现方案。至于C,和JAVA中差不多,还是被用作转向,这个在PHP中其实并不重要。 作者:KBUG
一个极耗资源的M + 一个区别不大的V + 可有可无的C 构成了PHP中所谓的MVC。
基于以上分析,Easy认为,PHP原有的3层构架比所谓的MVC更为高效,而3层构架中的表现层要解决的问题MVC中的V也同样存在。一个改进后的3层架构比MVC更适用于PHP。
PS:有的方案把业务逻辑并入M中(http://www.phpe.net/articles/382.shtml),这其实是MVC的思想背道而驰的。