2016-12-06 5 views
0

のは、(私はrunAction()runAction2()を実行したい)私はfile/test/backend/TestControllerrunAction()と呼ばれるコントローラを持っていますが、私はfile/test/frontend/TestController2でアクションrunAction2を実行したいとしましょう。 yii2でどうすればいいですか?あなたの実行のYiiアクションコントローラ異なるファイルに

フロントエンド/設定/ main.php

答えて

0

私は解決策を発見しました。私がしなければならないことは、バックエンド/ TestControllerファイルの先頭に次のコードを置くことです。

use frontend/TestController2; 

と私はバックエンド/ TestControllerファイルに以下を追加する必要があり、そのコントローラー内の特定のアクションを使用するには:別のアクションを実行するための適切な方法は、アプリケーションのrunAction関数メソッドを使用することです

runAction() 
{ 
TestController2::runAction2() 
} 
1

は、アクセスのバックエンド用URLマネージャを追加します。

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

この後に以下のようなアクションにURLを作成します。

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

Yii::$app->runAction('controller/action', ['param'=>'value']); 
関連する問題