Thinkphp3 第7章 路由功能 Thinkphp3 第7章 路由功能

2022-07-18

1、路由定义

"URL_ROUTER_ON"=>true,
"URL_ROUTE_RULES"=>[
   //每条键值对,对应一个路由规则
   //"路由表达式"=>’路由地址和参数‘
   //路由表达式包括:规则路由和正则路由两种
],
规则路由:blog/:id
正则路由:/^blog\/(\d+)$/

2、规则路由:简单的路由规则

//静态地址路由

"u"=>"User/index",

//静态地址和动态地址结合路由

"u/:id"=>"User/index"
"u/:type/:attr/:list"=>"User/index"

//全动态地址

":u/:id"=>"User/index"

//数字约束

"u/:id\d"=>"User/index"

//支持函数

"u/:id\d|md5"=>"User/index"

//可选传参

"u/[:id\d]"=>"User/index"

//$表示后面不允许再有东西

"u/:id$"=>"User/index"

3、正则路由

’/^u\/(\d{2})$/"=>"User/index?id=:1" //这里的1表示第一个圆括号
’/^u\/(\d{2})$/"=>"User/index?id=:1|md5" //支持函数的

4、静态路由

规则路由的简化版(又称URL映射),它就是删除了动态路由的功能

"URL_MAP_RULES"=>[
    "u/i"=>"User/index"
]

PS:由于性能问题,TP把MAP替换为ROUTER,专门处理静态路由

5、闭包支持:不需要执行控制器的操作方法

"URL_ROUTE_RULES"=>[
    "u/:id"=>function($id){
        echo "id:".$id;
    },
    //正则路由
    "/^\/(\d{2})$/"=>function(){
        echo "id:".$id
    }
]

6、去掉 URL 中的 Home

"MODULE_ALLOW_LIST" => ["Home","Admin"]
"DEFAULT_MODULE"=>"Home" //默认模块,可以省去模块输入

7、二级域名

"APP_SUB_DOMAIN_DEPLOY" =>  true,   // 是否开启子域名部署
"APP_SUB_DOMAIN_RULES"  =>  [
    "admin"=>"Admin",
    "*"=>"Home",
], // 子域名部署规则


打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开微信扫一扫,即可进行扫码打赏哦

阅读 583