ThinkPHP路由配置在route.php文件中,支持按需定义URL到控制器/方法的映射,提供get/post/any等注册方式、动态参数及正则约束、分组路由、闭包处理和重定向功能。

ThinkPHP 的路由配置写在 route.php 文件中,位于 app/route.php(TP6)或 route/route.php(TP5.1+)。它不是“必须写死规则”,而是按需定义,核心是把 URL 映射到具体的控制器/方法,或做重定向、闭包处理等。
基础路由注册方式
使用 Route::get()、Route::post()、Route::any() 等静态方法注册。最常用的是 get 和 any:
-
Route::get('news', 'index/News/index');→ 访问/news跳转到app\controller\index\News::index() -
Route::any('api/user/:id', 'api/User/read');→ 支持任意请求方式,:id是动态参数 -
Route::post('login', 'index/Login/check');→ 仅接受 POST 请求
支持变量和正则约束
动态参数用 :参数名 或 (TP6 推荐后者),可加正则限制格式:
-
Route::get('article/→ 强制 id 必须为数字', 'index/Article/read')->pattern(['id' => '\d+']); -
Route::get('user/→ name 是 2–10 位字母/数字/下划线', 'index/User/info')->pattern(['name' => '\w{2,10}']);
分组路由提升可维护性
把有共同前缀或中间件的路由归到一组,避免重复写前缀和配置:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
Route::group('admin', function () { Route::get('dashboard', 'admin/Index/index'); Route::post('user/add', 'admin/User/add'); })->middleware('checkLogin');- 这样
/admin/dashboard和/admin/user/add都自动带admin/前缀,并统一应用登录中间件
闭包路由与重定向
不走控制器时,可直接用闭包返回内容,或做跳转:
Route::get('hello', function () { return 'Hello ThinkPHP!'; });-
Route::redirect('home', '/', 302);→ 访问/home自动 302 跳转到根路径 -
Route::rule('old-page', 'new-page', 'redirect:301');→ 兼容旧 URL 的永久重定向
注意:TP6 默认开启路由完全匹配(route_complete_match = true),即 get('user') 不会匹配 /user/123;如需模糊匹配,可在路由定义后加 ->completeMatch(false),或改用 rule() 方法。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










