现在php中的mvc架构可以用图一来表示。
然后我们再来看v。现在很多php程序简单的使用了一些模板技术就在说明中写“采用mvc架构”。其实绝大多数的php模板程序都只是分离html和php的,而非mvc强调的显示逻辑和业务逻辑分离。一个混用html和php的页面一样可以是mvc的一部份。如何分离显示逻辑和业务逻辑至今没有一个满意的方案。我个人则比较认同http://www.phpe.net/articles/384.shtml的实现方案。至于c,和java中差不多,还是被用作转向,这个在php中其实并不重要。
一个极耗资源的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的思想背道而驰的。
作者:kbug
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器