线上服务咨询
MVC真的适合PHP吗?
发表时间:2019-07-30 16:40:16
文章来源:沈阳软件开发
标签:网站建设 小程序开发 小程序制作 微信小程序开发 公众号开发 微信公众号开发 网页设计 网站优化 网站排名 网站设计 微信小程序设计 小程序定制 微信小程序定制
浏览次数:0
最近,设计模式变得流行,MVC无处不在,PHP世界也不例外。许多论坛已经开始讨论在PHP中使用MVC。但是,如何在PHP中实现M,V,C? MVC真的适合PHP吗?在这里,Easy给出了一些他自己的想法。
MVC的原型
MVC最初出现在Desktop程序中,M表示数据模型,V表示用户界面,C表示控制器。使用MVC的目的是分离M和V的实现代码,以便相同的程序可以使用不同的表示。例如,一批统计数据可以用直方图和饼图表示。 C的目的是确保M和V的同步。一旦M改变,V应该同步更新。
JAVA中的MVC
JAVA将MVC引入Web域,并在此基础上构建了一个名为Model2的系统。由于Web的特殊性,JAVA中的MVC和桌面中的MVC并不完全相同。主要原因是Web中的V不连续。每次用户访问时,V将重新生成一次,因此V始终与M一致,并且不需要C来控制同步。那么JAVA中的C是做什么的呢? JAVA中的C通常用于过程转向。它的实用性是Dispatch模式,不再是桌面C。
PHP中的MVC
在PHP中不可能保持COPY JAVA的MVC完好无损。问题主要表现在M.在JAVA中,M是一个独立于业务逻辑和表示逻辑的数据模型。它存在于服务器端跨页面,JAVA Bean扮演这个角色。 PHP进程长时间不驻留在内存中,它仅在PHP页面开始执行时创建,并在页面解释执行结束时结束。在这种情况下,我们无法直接实现M.所以声称实现MVC模式的所有PHP程序都只能通过模拟实现M.实现此目的的方法通常是在当前页面结束之前将数据存储在数据库或cookie /会话中,然后在下一页中通过数据库或cookie /会话重建M.这种方式与JAVA中的bean相比可以说是巨大的,在内存中写入数据的简单操作现在从服务器传递到客户端或数据库,然后传回。不是使用如此大量的开销来维护数据模型,然后最终将模型插回数据库,而是根据需要更新数据库内的数据。
那我们再来看看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的原始三层体系结构比所谓的MVC更有效,并且三层体系结构中的表示层必须解决这个问题。改进的3层体系结构比MVC更适合PHP。
网站建设,小程序开发,小程序制作,微信小程序开发,公众号开发,微信公众号开发,网页设计,网站优化,网站排名,网站设计,微信小程序设计,小程序定制,微信小程序定制