You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter 4查询字符串显示问题:配置与路由设置疑问

在CodeIgniter 4中启用并获取查询字符串

版本差异对比

在CodeIgniter 3中,启用查询字符串只需在配置文件中设置:

$config['enable_query_strings'] = TRUE;

到了CodeIgniter 4,需要修改Config/App.php里的$uriProtocol配置项,可选两种设置:

public string $uriProtocol = 'PATH_INFO';

或者

public string $uriProtocol = 'QUERY_STRING';

解决查询参数获取问题

你提到调整路由后只能拿到控制器URL路径,其实不管uriProtocol怎么配置,都可以通过框架的请求类直接获取查询字符串参数:

  • 获取单个查询参数:
$paramValue = $this->request->getGet('param_name');
  • 获取所有查询参数组成的数组:
$allParams = $this->request->getGet();

路由适配注意事项

  • 当设置uriProtocol = 'QUERY_STRING'时,路由规则需要适配查询字符串模式,比如:
$routes->get('?c=(:segment)&m=(:segment)', '$1::$2');
  • 若使用PATH_INFO,查询字符串可直接附加在标准URL后(如example.com/controller/method?foo=bar),无需调整路由,依然能通过getGet()正常获取参数。

内容的提问来源于stack exchange,提问作者J. Robert West

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 05:02:03