我有一个控制器,指数,管理几个非专业信息页面(例如首页,概述,功能等)。每个页面在控制器中都有自己的操作。根据操作,使用不同的视图脚本来呈现内容。根据行动改变视图是不好的做法吗?
它是不好的做法,使用不同的视图脚本来呈现每个动作?每个页面是否都有自己的控制器?谢谢,
我有一个控制器,指数,管理几个非专业信息页面(例如首页,概述,功能等)。每个页面在控制器中都有自己的操作。根据操作,使用不同的视图脚本来呈现内容。根据行动改变视图是不好的做法吗?
它是不好的做法,使用不同的视图脚本来呈现每个动作?每个页面是否都有自己的控制器?谢谢,
你所描述实际上是Zend Framework的MVC实现了标准的最佳实践。这就是Zend Framework'要'让你做到这一点!你为什么害怕这可能是不好的做法?
要你问的第二个办法......
如果每个页面都有其自己的控制器?
没有,但不启动从页面的方向思考,觉得在功能单元条款。例如,如果您的页面需要用户管理,那么最有可能有userController
。
什么功能该控制器需要满足?
所以每个功能成为在您的userController(功能=方法=行动)的行动。
这样,您也将自动轻松读取网址。最后,每个动作都有一个.phtml视图脚本,该动作的必要标记位于该脚本中。
考虑URL可读性的+1 :) – Tjorriemorrie 2011-04-06 06:33:03
谢谢,这是非常有意义的。我只是害怕我以这种方式构建我的应用程序而让自己失败。 – 2011-04-06 18:54:55
这并不是不好的做法的。考虑一下PHP应用程序通用的不同场景。一个CRUD(创建,读取,更新,删除)给用户。
所有行动都应该是用户在同一个控制器上。
我一般用:
如果合适,使用相同视图进行添加和编辑是有意义的,但添加/编辑不可能与索引共享相同视图。
谢谢你的建议! – 2011-04-06 18:55:34
阅读Zend_Layout和Zend_View_Helpers,你几乎不必在多个视图文件中复制内容,如果这是你所害怕的。 – chelmertz 2011-04-06 06:23:50