thinkphp6路由分组介绍

本文介绍了ThinkPHP6中的路由分组功能,包括路由分组的概念、如何使用group方法进行分组,以及prefix方法简化相同路由地址定义。还探讨了路由完全匹配、延迟路由解析、路由规则合并解析和传入额外参数等特性,这些特性有助于优化路由定义和提高性能。

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

什么是路由分组

路由分组功能允许把相同前缀的路由定义合并分组,这样可以简化路由定义,并且提高路由匹配的效率,不必每次都去遍历完整的路由规则(尤其是开启了路由延迟解析后性能更佳)。

使用Route类的group方法进行注册,给分组路由定义一些公用的路由设置参数,例如:

Route::group('qipa', function () {
   
    Route::rule(':id', 'qipa/read');
    Route::rule(':name', 'qipa/read');
})->ext('html')->pattern(['id' => '\d+', 'name' => '\w+']);

qipa控制器中的read方法

    public function read()
    {
   
        echo 'www.qipa250.com-read-id=' . Request::param('id');
        echo "<br>";
        echo 'www.qipa250.com-read-name=' . Request::param('name');
    }

http://mac.tp6.com/qipa/250.html
在这里插入图片描述

http://mac.tp6.com/qipa/xiaoming.html
在这里插入图片描述

分组路由支持所有的路由参数设置,具体参数的用法请参考路由参数章节内容。

如果仅仅是用于对一些路由规则设置一些公共的路由参数(也称之为虚拟分组),也可以使用:

Route::group(function () {
   
    Route::rule('qipa/:id', 'qipa/read');
    Route::rule('qipa/:name', 'qipa/read');
})->ext('html')->pattern(['id' 
### ThinkPHP6 路由配置文件 示例 为了使用ThinkPHP6路由功能,需在应用的路由配置文件中进行相应设置。具体来说,在`route`目录下找到并编辑名为`route.php`的文件。此文件包含了默认的路由配置: ```php use think\facade\Route; Route::get('hello/:name', function ($name) { return 'Hello,' . $name; }); ``` 上述代码展示了最基础的形式——定义了一个GET请求类型的简单路由规则[^1]。 对于更复杂的场景,比如创建资源控制器对应的RESTful风格API接口,则可以通过如下方式来简化操作过程: ```php // 自定义资源路由 Route::resource('news', NewsController::class); ``` 当涉及到多个具有相同前缀路径或是共享某些特性的路由集合时,采用分组机制能够有效减少重复劳动,并增强可读性和维护便利度: ```php // 实现tp6路由分组 Route::group(function () { Route::get('article/{id}', 'Article/index'); }, ['middleware' => [\app\http\middleware\Authenticate::class]]); ``` 此外,还存在一种更为灵活的应用模式即多应用架构的支持。这允许开发者在同一套框架实例内运行不同业务逻辑模块,只需调整位于`config/app.php`中的几项参数即可完成切换,默认情况下已开启路由特性(`with_route`)以及指定了首要启动的应用程序名(`default_app`)等选项[^4]。 最后值得一提的是关于伪静态处理方面的工作。如果希望去除URL中的入口文件部分(通常是index.php),则可以在服务器端配置相应的重写规则;而在应用程序内部也可以借助于强制指定特定格式的方式来达成相似效果: ```php // 强制路由定义 return [ '__pattern__' => [ 'name' => '\w+', ], ]; ``` 以上便是有关ThinkPHP6路由系统的几个重要知识点介绍[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值