我想知道ZF2是否基于MOVE而不是经典的MVC。
我读到的某个地方确实基于MOVE(http://cirw.in/blog/time-to-move-on),但是在“入门教程”(http://zf2.readthedocs.org/en/latest/user-guide/overview.html)中,他们说“使用模型 - 视图 - 控制器范例创建一个简单的数据库驱动的应用程序”。
那么,它现在基于什么?它是否同时支持?
我有点困惑。 ZF1和ZF2之间的MVC有什么区别?
由于
答案 0 :(得分:13)
MOVE (Models, Operations, Views and Events)
MVC (Models, Views, Controllers)
MVC的问题是你最终将太多代码填入控制器, 要克服这个问题MOVE是另一个在zf2项目中选择的可能选项, 因为在此体系结构中,您可以将控制器拆分为事件和操作。
问题:ZF2完全基于MOVE架构吗?
我不认为ZF2完全是基于MOVE架构设计的。 ZF2遵循SOLID object oriented design原则,松散耦合MVC architecture,在可用性方面提供了更大的灵活性。
问题:我可以在ZF2中使用MOVE架构开发项目吗?
是ZF2为您提供支持这两种架构的所有内容(MOVE,MVC)。 它提供模型,视图,控制器(操作),事件。 开发人员需要使用哪种架构。
答案 1 :(得分:3)
我仍然是zf2的初学者,因为我把zf1代码完全移植到新的zf2框架,所以我写在这里。我只能说新框架有很多优点,一旦你获得了一些新的概念和功能。通过重用模块/组件等,您可以节省大量时间来开发新项目。
在zf2中,大多数库组件都是独立设计的,即松散耦合,因为它提供了更大的灵活性,并且可以通过多种方式完成任务(就像PHP一样)。我看到的主要优点是模块,我可以轻松地将项目拆分为多个模块并单独测试,并且无需任何额外代码即可轻松集成。即使我拥有模块文件夹中的图像,CSS和JavaScript文件等所有资源,也可以毫无问题地访问它(当然,在index.php中使用一些小代码)
对我来说,ZF1具有固定的规则,流程等,并且zf2已经释放了流和规则,添加了新的事件命名空间,配置和延迟加载,组装对象,使用servicemanger注入依赖关系。在zf1路由是自动的(程序化的),其中在zf2中我们需要路由定义,在zf1控制器中会自动选择,在zf2中我们需要将控制器定义为invokables,这是一些需要一些时间才能进入的东西得到的想法,您将感受到使用新的zf2框架的舒适性
首先,您可以执行此步骤
组件明智或多或少与zf1相同(至少在我的情况下)
以下是我受益的以下优势