YII2如何修改默認控制器/方法


在網上找了非常多的方法,但是都不好使最后自己綜合網上所有自己琢磨出來的,見笑了

首先Yii2中在/vendor/yiisoft/yii2/web/Application.php的第28行  

public $defaultRoute = 'site';  /*這個是網上都有的,但是改的是框架源碼,所以不建議使用*/

1、找到了自己擴展的配置文件在/config/web.php。

  在 $conifg=[] 里添加了一行代碼: 'defaultRoute' => 'index', 。

  這樣,默認控制器就從Yii默認的site變成了想要的index了。

2、不論前后台找到/config/mian.php在第一個數組里面,添加 'defaultController'=>'Index',

3、在/protected/config/main.php添加配置,

  <?php
    return array(
     'name'=>'Auto',
     'defaultController'=>'auto',

4、配置文件在/config/web.php 或者main.php里面。

  在 $conifg=[] 里添加了一行代碼:

  'defaultRoute'=>'exam',

注意!注意!注意!

以上四種更改默認控制器的方法親測無效!!!

0、下面這是我自己總結出來的:

  /protected/config/main.php或/backend/config/main.php中

  代碼如下:

  <?php
    $params = array_merge(
          require(__DIR__ . '/../../common/config/params.php'),
          require(__DIR__ . '/../../common/config/params-local.php'),
          require(__DIR__ . '/params.php'),
          //require(__DIR__ . '/../../common/config/db.php'),
          require(__DIR__ . '/params-local.php')
    
);

    return [
        'name'=>'Exam',

        'defaultRoute'=>'exam',

  紅色即為正確設置方式。

 

 

  設置默認action

 

  在XxxController.php中設置

  代碼如下:

  <?php

  class XxxController extends \yii\web\Controller
  {
      public $defaultAction = 'test';

    public function actionIndex()
      {
          ...
      }

      public function actionTest()
      {
          ...
      }
        ...

    如此,此時訪問###/web/index.php就會

    默認轉到###/web/index.php?r=Xxx/test

    ok,完事,收工!

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM