目录控制 - 修改控制器目录位置

  • 作者:KK

  • 发表日期:2017.2.11


这个目录的修改跟别的有点不一样

并不是在配置里定义app的controllerPath属性就可以的,其实yii\base\Applicetion::$controllerPath是一个只读的属性,并不能设置它


正确姿势:定义controllerNamespace

每一个APP都要定义controllerNamespace,默认值是“app\controllers”,这里的app对应@app别名目录,就是APP目录下的controllers目录

只要将controllerNamespace定义成app\my_controllers就可以让控制器放在@app/my_controllers目录里面了


定义到父目录

$config = [
	'id' => 'demo',
	'controllerNamespace' => 'common\controllers',
	'aliases' => [
		'@common' => realpath(__DIR__ . '/../../common')
	],
];

很容易明白吧,common就是指@common这个别名,别名所指的路径在父级目录上面,然后再在那里定位到controllers就行了~