在阅读完 Zend Framework2 教程后,我想知道这一点,但它可能通常适用于 MVC 逻辑......
在本教程中,示例将引导您创建一个添加视图 ( module/Album/view/album/album/add.phtml
),然后让您创建一个编辑模板 ( module/Album/view/album/album/edit.phtml
),其中的大部分代码都是重复的。编辑脚本基本上有一些额外的逻辑来检查提供的 id,但会为用户提供相同的表单。
现在,在我没有完全使用 MVC 约定的类似情况下,我将有一个脚本来处理添加和编辑选项;如果提供了 id,该逻辑将假定一个“编辑”操作,并尝试检索该 id 的数据库记录以填充表单字段,如果提供了无效的 id,则返回错误。
如果跨应用程序的所有数据库交互都遵循这种方法,那么 MVC 的教科书方法似乎并不能很好地封装 DRY 原则。
我仍在尝试围绕一些 MVC 概念进行思考,但是除了命名约定之外,编辑操作和添加操作不能(或不应该)使用相同的视图模板是否有某些原因?
我看到路由设置为期望模板名称,如教程中所示,但也许我可以调用视图模板来呈现通用表单process.phtml
并将其包含在add.phtml
andedit.phtml
中。这是一种明智的方法吗?是否有一些理由我应该避免将其作为解决方案?