controller - 从 Yii 中的 Controller 调用另一个 Controller 中的函数

标签 controller yii

我想从 Controller 调用另一个 Controller 中的函数。

class FirstController extends Controller {
      public function test1() { return 'OK'; }
}
class SecondController extends Controller {
      public function callTest1() { First::test1(); }
}

--> 服务器错误
帮我解决。

最佳答案

您不能直接调用该方法,因为它不是 static ,所以你必须创建一个 FirstController 的实例第一的。如果您想这样做,请使用 CWebApplication::createController :

// supply appropriate route in place of 'first/index'
list($first) = Yii::app()->createController('first/index');
$first->test1();

但是,不需要从另一个 Controller 调用方法;这是一种糟糕的代码味道。也许重构您的代码并将其从 Controller 中拉出(也许进入模型)会更合适。

关于controller - 从 Yii 中的 Controller 调用另一个 Controller 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10718302/

相关文章:

cocoa - AppDelegate 或 AppController

html - Yii - CActiveForm - 附加表单属性

php - 如何在 yii 中运行累积派生查询

hyperlink - 如何在 prestashop 中生成模块 Controller 的链接?

frameworks - Phalcon分页器错误: Syntax error, unexpected EOF

php - 跨源请求被阻止 :

Cakephp 和 Yii : similarities/differences/speed?

php - Yii2加入子查询

java - Spring字符编码

iphone - iOS Controller 问题