Yii2中如何修改默认控制器Controller以及默认方法Action

  •   
  • 11955
  • PHP
  • 5
  • super_dodo
  • 2015/11/10

安装好Yii2后,Yii2的默认的控制器是SiteController,新建Modules的时候默认的控制器是DefaultController.如果开发和路由需要修改成其他控制器为默认的控制器的话。

在框架里面先查找源码,终于在/vendor/yiisoft/yii2/web/Application.php的第28行找到了:

 /**
 * @var string the default route of this application. Defaults to 'site'.
 */
public $defaultRoute = 'site';

//也就是默认的控制器是site

正常情况下,我们最好不好修改框架源码,这样不利于框架升级和迁移等。这个时候找到了自己扩展的配置文件在/config/web.php 或者main.php里面。

于是在 $conifg=[] 里添加了一行代码:


'defaultRoute' => 'news', 

//这样,我的项目的默认控制器就从Yii默认的site变成了我想要的news了。

默认情况下每个控制器下面的默认方法都是index,有时候需要按照需要改成自己想要的方法。修改默认的方法是在控制器里面增加一行代码:


'defaultAction' => 'list', 

//这样,我的项目的该控制器就从Yii默认的index变成了我想要的list了。

为追求到我喜欢的人,我愿意放弃我所拥有的一切,可当我放弃这一切后,她还会接受我的爱吗?