我想从 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/