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,完事,收工!

 

  

 

转载于:https://www.cnblogs.com/jy9527/p/6254895.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值