我可以将一个 Yii 控制器拆分成多个文件吗?


Can I split a Yii controller into multiple files?

我有一个控制器开始感到非常臃肿。 有些动作本身非常大,当我试图拆分内容时,导航此文件变得越来越烦人。

我想知道是否有任何方法,特别是任何约定来管理非常大的控制器?有没有办法将控制器拆分为更易于管理的部分?

我看到有一个CAction类。这是要走的路吗? 不是操作的方法呢?

我认为您应该 http://www.yiiframework.com/doc/guide/1.1/en/basics.best-practices 阅读此链接以改善MVC的结构。此外,如果你想让你的控制器变得简单,那么你可以使用CAction。从 http://www.yiiframework.com/doc/api/1.1/CAction:

CAction 提供了一种将复杂控制器划分为单独类文件中较小操作的方法。

为了使你的模型变得精益,你可以使用 Yii 的Behaviors

也许您的控制器很臃肿,因为它正在执行应该发送到模型的事情?管制员应充当交通警察。它们响应请求,收集所需的数据(来自各种模型),然后将该数据发送到视图。也许您的控制器正在执行模型应该执行的一些工作?