thinkphp6.0路由篇之路由的地址和参数

本文详细介绍了ThinkPHP6.0框架中路由的地址和参数设置。内容涵盖路由地址的构成,包括控制器/操作方法、完整类名指定及静态方法调用。此外,还讲解了路由参数的配置,如ext方法用于设定URL后缀,https方法检测HTTPS请求,denyExt禁止特定后缀,domain方法匹配域名,以及option方法用于批量配置参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、路由地址

1、路由的地址一般为:控制器/操作方法构成

//默认index控制器
Route::rule('/', 'index');
//控制器/操作方法 
Route::rule('details/:id', 'Address/details');

2、支持多级控制器,并且支持路由到相应的地址

//目录为:app\controller\group 
namespace app\controller\group;
//地址为:app\controller\group 
http://localhost:8000/group.blog/details/id/5
//支持多级路由 
Route::rule('details/:id', 'group.Blog/details');

3、对于地址,还有一种完整路径的方式去执行操作方法:完整类名:@操作方法
4、另一种静态方式:完整路径支持这种发给发的路由地址:完整类名::静态方法

Route::rule('ds/:id', '\app\controller\Address@details');

5、路由可以通过::redirect()方法实现重定向跳转,第三参数为状态码

Route::redirect('ds/:id', 'http://localhost/', 302)

三、路由参数

1、设置路由的适合,可以设置相关的方法进行,从而实施匹配检测和行为执行
2、ext方法作用是检测URL后缀,比如我们强制所有URL后缀为.html

Route::rule('details/:id', 'address/details')->ext('html'); 
Route::rule('details/:id', 'address/details')->ext('html|shtml');

3、https 方法作用是检测是否为 https 请求,结合 ext 强制 html 如下;

Route::get('details/:id', 'address/details')->ext('html')->https();

4、如果想让全局统一配置URL后缀的话,可以在config/route.php中设置
5、具体值可以是单个或多个,也可以是空字符串,false禁止后缀

//设置false 为禁止后缀,空允许所有后缀 
'url_html_suffix' => 'html',

6、denyExt方法作用是禁止某些后缀的使用,使用后直接报错

Route::rule('details/:id', 'address/details')->denyExt('gif|jpg|png');

7、domain方法是检测当前的域名是否匹配,完整域名和子域名均可

Route::rule('ds/:id', 'Address/details')->domain('localhost'); 
Route::rule('ds/:id', 'Address/details')->domain('news.abc.com'); 
Route::rule('ds/:id', 'Address/details')->domain('news')

需要在host文件更改 127.0.0.1 =》new.abc.com

8、11. 如果你想统一配置多个参数,方便管理,可以使用 option 方法数组配置

Route::rule('ds/:id', 'Address/details')->option([ 
'ext' => 'html', 
'https' => true 
]);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值