我有一个控制器索引,它管理几个非专业的信息页面(例如主页,概述,功能等)。每个页面在控制器中都有自己的操作。根据操作,使用不同的View脚本来呈现内容。
使用不同的View脚本渲染每个动作是不好的做法吗?每个页面都应该有自己的控制器吗?谢谢,
答案 0 :(得分:3)
这根本不是很糟糕的做法。考虑PHP应用程序常见的不同场景。用户的CRUD(创建,读取,更新,删除)。
所有操作都应该在用户的同一个控制器上。
我通常使用:
如果合适,添加和编辑使用相同的视图是有意义的,但添加/编辑不可能与索引共享相同的视图。
答案 1 :(得分:3)
您所描述的实际上是Zend Framework MVC实现的标准最佳实践。这就是Zend Framework'希望'你这样做的方式!你为什么害怕这可能是不好的做法?
第二种方式......
每个页面都应该有自己的控制器吗?
不,但不要从页面方向开始思考,请考虑功能单元。例如,如果您的网页需要用户管理,则很可能会有userController
。
此控制器需要实现的功能是什么?
因此,这些函数中的每一个都成为userController中的一个动作(function = method = action)。
这样,您也可以自动获得易于阅读的网址。最后,每个操作都有一个.phtml视图脚本,其中包含该操作所需的标记。