从不同文件中的另一个控制器运行yii动作控制器

时间:2016-12-06 03:58:29

标签: php yii yii2

假设我在runAction()中有一个名为file/test/backend/TestController的控制器,但我想在runAction2中运行file/test/frontend/TestController2(我希望运行runAction2()runAction())。我怎么能在yii2这样做?

3 个答案:

答案 0 :(得分:1)

中的

  

前端/配置/ main.php

为访问后端添加URL管理器。

'components' => [
 'urlManagerbackend' => [
                'class' => 'yii\web\urlManager',
                'baseUrl' => '/test/backend/',
                'enablePrettyUrl' => true,
                'showScriptName' => false,
  ],
]

之后创建如下所示的操作URL:

Yii::$app->urlManagerbackend->createUrl(['test/runAction2']);

答案 1 :(得分:0)

我找到了解决方案。我所要做的就是将以下代码放在backend / TestController文件的顶部。

use frontend/TestController2;

并且要在该控制器中使用特定的操作,我必须在后端/ TestController文件中添加以下内容:

runAction()
{
TestController2::runAction2()
}

答案 2 :(得分:0)

运行其他操作的正确方法是使用应用程序的runAction方法

Yii::$app->runAction('controller/action', ['param'=>'value']);