一、调用形同模块下不同控制器的action
// 在frontend\controllers\TestController\actionTest 方法中调用同一模块下的
// frontend\controllers\NewController\actionNewAction 方法
Yii::$app->runAction('new/new-action');
二、调用不同模块下的action
// 在frontend\controllers\TestController\actionTest 方法中调用另一个模块下的
// backend\controllers\NewController\actionNewAction 方法
return (new NewController($this->id, $this->module))->runAction('new-action');
三、模型类中调用控制器action
class MyModel extends \yii\base\Model{
public function modelfun{
//调用控制器中的静态方法fun1()
\app\controllers\MyController::fun1();
//调用控制器中的实例方法fun2():先实例化,再调用其方法,不过一般没人这么干!
$control=new \app\controllers\MyController();
$control->fun2();
}
}