Yii2 在模块内映射 Controller 到其它控制器
上文讲解关于如何映射 Action,本文讲解如何映射 Controller。
0x00 实现
首先,在你的 Module 里,定义一个 $controllerRedirectMap 变量。
public $controllerRedirectMap = []; 重写 createControllerByID 方法。
public function createControllerByID($id) { if(isset($this->controllerRedirectMap[$id])) { $id = $this->controllerRedirectMap[$id]; } return parent::createControllerByID($id); } 0x01 用法
public $controllerRedirectMap = [ 'foo' => 'bar' // 访问 `module/foo/index` 将会被重定向至 `module/bar/index` 'foo/bar' => 'bar/foo' // 访问 `module/foo/bar/index` 将会被重定向至 `module/bar/foo/index` ]; 本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu