thinkphp5 动态批量注册路由

批量注册路由

      路径:application/route.php

    1、方法注册

              格式

Route::rule([
'路由规则1'=>'路由地址和参数',
'路由规则2'=>['路由地址和参数','匹配参数(数组)','变量规则(数组)']
...
],'','请求类型','匹配参数(数组)','变量规则');

         简单实例:

use \think\Route;

//设置路由方式1
Route::rule([
    //index模块(前台模块)下index控制器下 的func1方法
    'func1'=>'index/index/func1',
  
    //index模块(前台模块)下 index控制器下 带id参数的方法func2  
    'func2/:id'=>'index/index/func2',


    'func3/:id'=>[
        'index/index/func3',    //func3
        ['ext'=>'shtml'],       //限定func3方法只会匹配shtml后缀的访问请求
        ['id'=>'\d{4}']         //限定参数id的规则为 \d{4}
     ]

],'','get',['ext'=>'html'],['id'=>'\d+']);

    注意:     如果Route::rule()方法的外面和规则里面同时传入了匹配参数和变量规则,路由规则定义里面的最终生效,但请求类                 型参数以最外层决定!

          同理,我们也可以用Route::get()、Route::post()方法注册路由,例如:

// 批量注册GET路由
Route::get([
    'func1/:id'  =>  'index/index/func1',
    'func2/:id' =>  ['index/index/func2',[],['id'=>'\d+']]
]);

// 效果等同于
Route::rule([
    'func1/:id'  =>  'index/index/func1',
    'func2/:id' =>  ['index/index/func2',[],['id'=>'\d+']]
],'','GET');

    2、配置文件注册路由(一般情况下,推荐使用)

          路径:application/route.php

           以return 的方式,返回配置文件的路由注册规则:

//设置路由方式2
return [
    //index模块(前台模块)下index控制器下 的func1方法
    'func1'=>'index/index/func1',
  
    //index模块(前台模块)下 index控制器下 带id参数的方法func2  
    'func2/:id'=>'index/index/func2',


    'func3/:id'=>[
        'index/index/func3',    //func3
        ['ext'=>'shtml'],       //限定func3方法只会匹配shtml后缀的访问请求
        ['id'=>'\d{4}']         //限定参数id的规则为 \d{4}
     ]

];

设置路由的请求方式:https://blog.csdn.net/beyond_1990/article/details/99459472 

单个注册路由:https://blog.csdn.net/beyond_1990/article/details/99459405

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值