【发布时间】:2017-11-19 11:37:27
【问题描述】:
我已从 Codeigniter 版本 2.x 升级到 3.x,并注意到 URI 路由在传递多个段时表现不同。
在 2.x 版本中,我能够传递以下 URL 变体:
domain.com/function/arg1
domain.com/function/arg1/arg2
domain.com/function/arg1/arg2/arg3
鉴于我的函数调用是 function($arg1, $arg2 = 0, $arg3 = 0) 允许 arg2 和 arg3 是可选的,并在路由规则中作为 $1 传入。
为了让它在版本 3.x 中工作,我发现我必须将我的路由设置为:
$route['function/(:any)'] = 'function/$1';
$route['function/(:any)/(:any)'] = 'function/$1/$2';
$route['function/(:any)/(:any)/(:any)'] = 'function/$1/$2/$3';
有什么方法可以简化路由,使其通过所有剩余的段,而不必为可能的段数的每个变体创建单独的路由规则?
【问题讨论】:
-
我觉得CodeIgniter 3对参数的数量是比较严格的所以不知道有没有简单的方法让你使用更少的路由。