我需要所有 Controller 中的一些通用行为。有一个 BaseController 并让所有 Controller 都扩展该类是个好主意吗?如果是这样,避免 Fatal error: Class 'BaseController' not found
错误的正确方法是什么。
最佳答案
这当然是一种常见的方法。
但是一个article by ZF project lead Matthew Weier O'Phinney解释了如何 action-helpers可以以更大的灵 active 提供相同的好处。
特别是,一个通用的基础 Controller 通常会成为多个但不是所有 Controller 中使用的功能的垃圾场,因此它变得过大了。 Action-helpers 是一种延迟加载的替代方案,可以在您需要的时间和地点精确地调用功能。
此外, Action 助手调度 Hook - init()
、preDispatch()
和 postDispatch()
- 允许您自动化插件- 以每个 Controller 为基础的类似功能。
我会去行动 helper 。但与大多数事情一样,YMMV。 ;-)
关于php - 有一个 BaseController 并让所有 Controller 都扩展该类是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5049204/