一、快速注册同一控制器下所有操作方法(不支持变量规则)
1.动态方法:Route::alias('规则名称','模块/控制器',[路由参数]);
2.动态数组:return[
'__alias__'=>['规则名称','模块/控制器',[路由参数]]
];
//think\Route::get('add/:n/:m','index/demo/add');
//think\Route::get('sub/:n/:m','index/demo/sub');
//think\Route::get('mult/:n/:m','index/demo/mult');
//think\Route::get('div/:n/:m','index/demo/div');
//think\Route::alias('math','index/Demo',[
// 'ext'=>'html',
// 'allow'=>'add,sub',//白名单
// 'except'=>'add,sub',//黑名单
// ]);
//think\Route::alias('hello','\app\index\controller\Test');
return [
'__alias__'=>[
'math'=>['index/demo',['ext'=>'html','except'=>'add,sub',]],
],
];
一、入口文件的绑定
说明:在入口文件中添加:BIND_MODULE系统常量
//绑定到指定模块
define('BIND_MODULE','index');
//绑定到指定模块下面的控制器
define('BIND_MODULE','index/Demo');
二、入口的自动绑定
说明:入口文件名与应用中的模块自动绑定
1.入口文件自动绑定模块设置:'auto_bind_module'=>true,
2.创建要需要绑定的入口文件,例如:admin.php
3.创建与入口文件对应的模块与控制器:application/admin/controller/index.php,并创建默认index()方法
4.直接访问:域名/admin.php,就会自动执行admin模块中默认控制器中的默认方法
在config.php中开启入口绑定
// 入口自动绑定模块
'auto_bind_module' => true,
在public文件夹下新建admin.php文件,在application文件夹下新建admin文件夹,新建controller文件夹,新建admin.php
语法:Route::bind('模块[/控制器][/操作]')
1.绑定当前的URL到模块
Roule::bind('模块');
2.绑定当前的URL到模块下面的控制器
Route::bind('模块/控制器');
3.绑定当前的URL到模块下面的控制器中的指定操作
Route::bind('模块/控制器/操作');
think\Route::bind('index');//绑定到模块
think\Route::bind('index/Demo');//绑定到控制器
think\Route::bind('index/Demo/add');//绑定到操作
四、绑定到命名空间或者类
1.绑定当前的URL到指定命名空间
Route::bind('app\index\controller','namespace')
此前,所有采用该命名空间的类,都可以直接访问
2.绑定当前的URL到类
Route::bind('app\index\controller\Demo','class')
此前,所有Demo类中的方法,可以直接访问
特别注意:这种绑定形式会直接跳过模块配置文件和公共文件
绑定命名空间
//think\Route::bind('app\index\controller','namespace');
//绑定到类
think\Route::bind('app\index\controller\Demo','class');