codeigniter 4 路由在 app/config/routes.php 中配置,通过 $routes 实例的 get()、post() 等方法映射路径与控制器方法,支持 http 方法限定、参数占位符(如 (:num))、分组路由及命名空间前缀。

CodeIgniter 4 的路由配置在 app/Config/Routes.php 中完成,核心是通过 $routes 路由器实例调用方法来定义请求路径与控制器/方法的映射关系。写法简洁,但需注意命名空间、HTTP 方法限制和自动前缀等细节。
基础路由写法(GET 请求)
最常用的是 get() 方法,匹配 GET 请求并指向控制器方法:
-
$routes->get('home', 'Home::index');→ 访问/home时执行App\Controllers\Home::index() -
$routes->get('/', 'Home::dashboard');→ 根路径指向 dashboard 方法 - 控制器名不带命名空间前缀,默认从
App\Controllers开始解析
支持多种 HTTP 方法的路由
用 add() 或对应方法明确指定请求类型,避免混淆:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
$routes->post('api/users', 'Api\User::create');$routes->put('api/users/(:num)', 'Api\User::update');$routes->delete('api/users/(:num)', 'Api\User::delete');$routes->add('contact', 'Page::contact', ['method' => 'GET|POST']);
带参数和通配符的路由
使用占位符捕获 URL 参数,系统自动注入到控制器方法中:
-
(:any):匹配任意非斜杠字符(如user/john) -
(:num):只匹配数字(如post/123) -
(:segment):匹配单个路径段(含字母、数字、下划线、破折号) - 示例:
$routes->get('product/(:num)/(:any)', 'Product::view/$1/$2');→/product/5/shoes会调用view(5, 'shoes')
分组路由与命名空间/前缀
对批量路由统一设置命名空间、中间件或 URL 前缀,提升可维护性:
-
注意:CI4 默认控制器在
App\Controllers,若用子命名空间(如Admin),需显式声明: -
$routes->group('admin', ['namespace' => 'App\Controllers\Admin'], function ($routes) {<br> $routes->get('dashboard', 'Dashboard::index');<br> $routes->get('users', 'Users::list');<br>});→ 实际访问路径为/admin/dashboard - 可同时加中间件:
['filter' => 'auth']
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










