如何在Yii2中覆盖控制器动作?

时间:2016-05-12 13:16:36

标签: yii2 override

我想拥有多个源(域),我不想在控制器中添加来自不同来源的新操作。

我怎样才能在YII2中做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以使用OOP

家长

      class parentController extends Controller
     {
      /**
       * @inheritdoc
       */


      public function actionYourAction()
      {
          return $this->render('your_parent_view');
      }

延长

     class yourController extends parentController
     {
      /**
       * @inheritdoc
       */


      public function actionYourAction()
      {
          return $this->render('your_view');
      }

答案 1 :(得分:0)

<强> CommonController.php

<?php
namespace app\controllers;

use Yii;
use yii\web\Controller;
use yii\web\ForbiddenHttpException;

class CommonController extends Controller
{

    public actionIndex(){
        //Codes
    }

}

<强> UsersController

<?php
use app\controllers\CommonController; //Give correct path here

class UsersController extends CommonController 
{

    public actionIndex(){
        //Codes
    }

}