Yii方法之间互相调用

一、调用形同模块下不同控制器的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();
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43272542/article/details/114028968