2011-04-06 46 views
3

我有一个控制器,指数,管理几个非专业信息页面(例如首页,概述,功能等)。每个页面在控制器中都有自己的操作。根据操作,使用不同的视图脚本来呈现内容。根据行动改变视图是不好的做法吗?

它是不好的做法,使用不同的视图脚本来呈现每个动作?每个页面是否都有自己的控制器?谢谢,

+0

阅读Zend_Layout和Zend_View_Helpers,你几乎不必在多个视图文件中复制内容,如果这是你所害怕的。 – chelmertz 2011-04-06 06:23:50

回答

3

你所描述实际上是Zend Framework的MVC实现了标准的最佳实践。这就是Zend Framework'要'让你做到这一点!你为什么害怕这可能是不好的做法?

要你问的第二个办法......

如果每个页面都有其自己的控制器?

没有,但不启动从页面的方向思考,觉得在功能单元条款。例如,如果您的页面需要用户管理,那么最有可能有userController

什么功能该控制器需要满足?

  • 添加用户,
  • 删除用户,
  • 让用户编辑自己的数据,
  • 让用户选择朋友,

所以每个功能成为在您的userController(功能=方法=行动)的行动。

这样,您也将自动轻松读取网址。最后,每个动作都有一个.phtml视图脚本,该动作的必要标记位于该脚本中。

+0

考虑URL可读性的+1 :) – Tjorriemorrie 2011-04-06 06:33:03

+0

谢谢,这是非常有意义的。我只是害怕我以这种方式构建我的应用程序而让自己失败。 – 2011-04-06 18:54:55

3

这并不是不好的做法的。考虑一下PHP应用程序通用的不同场景。一个CRUD(创建,读取,更新,删除)给用户。

所有行动都应该是用户在同一个控制器上。

我一般用:

  • 指标 - 显示所有用户
  • 添加 - 创建一个新用户
  • 编辑 - 编辑现有用户
  • 删除 - 删除用户(不有一个观点只是重定向)。

如果合适,使用相同视图进行添加和编辑是有意义的,但添加/编辑不可能与索引共享相同视图。

+0

谢谢你的建议! – 2011-04-06 18:55:34

相关问题