codeigniter 无内置命令直接输出全部路由,但ci4可用php spark routes查看,支持--verbose和grep过滤;运行时可调用service('router')->getroutes()调试;亦需人工核查app/config/routes.php等路由文件。

CodeIgniter 本身没有内置命令直接输出所有已定义的路由列表,但可以通过几种方式快速查看和调试当前加载的全部路由规则。
使用 CLI 命令(CodeIgniter 4)
CI4 提供了官方支持的命令行工具,运行以下命令即可列出所有注册路由:
- 在项目根目录执行:php spark routes
- 可加参数细化输出,例如:php spark routes --verbose 显示中间件、命名空间等详细信息
- php spark routes | grep "admin" 可快速过滤特定前缀的路由
手动打印路由集合(CI4 运行时调试)
在控制器或中间件中临时插入代码,查看当前 Router 实例持有的全部路由:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 获取路由服务:$routes = service('router');
- 调用 $routes->getRoutes() 返回一个包含所有路由的关联数组(key 是原始路由字符串,value 是 RouteCollectionItem 对象)
- 配合 print_r() 或 var_dump() 输出,注意仅用于开发环境,切勿保留在生产代码中
检查路由文件与自动加载逻辑(CI3 和 CI4 通用)
路由不是“动态生成”的,而是由框架按顺序加载并注册的,因此最可靠的方式仍是人工核查源码:
- CI4:主要看 app/Config/Routes.php,同时留意是否启用了模块化路由(如
$routes->addNestedRoutes())或第三方包注册的路由 - CI3:重点检查 application/config/routes.php,注意是否调用了
$route['default_controller']等全局配置项 - 若使用 HMVC 或第三方路由扩展,需同步检查对应模块的
config/routes.php
借助调试工具辅助识别(推荐开发阶段启用)
开启 CI4 的调试模式后,部分开发工具能可视化路由:
- 确保 app/Config/Boot/development.php 已启用调试器
- 访问任意页面后,在浏览器开发者工具的 Network 标签中查看响应头,或打开 http://your-site.tld/_debugbar(如果安装了 DebugBar)
- 某些 IDE 插件(如 PHPStorm 的 CodeIgniter 插件)也支持路由跳转和索引提示










