我正在尝试为CodeIgniter创建一个ACL并且卡在某一点上。
我无法弄清楚如何将参数传递给方法。
例如,网址如下所示:
http://ci.dev/controller/action/31
我设法获得了这样的控制器和方法/动作:
$class = $CI->router->fetch_class();
$method = $CI->router->fetch_method();
但是我无法弄清楚如何获取参数(在本例中为31)。 这对我来说是必不可少的,因为我想控制是否允许用户编辑属于另一个用户的项目。
我不想使用任何类型的URI获取,只是因为路线有时可能看起来不同,例如:http://ci.dev/controller/31/action
就像一些额外的信息一样,我使用post_controller_constructor
挂钩。
我想为此做好准备。
非常感谢任何帮助。 谢谢你提前。
答案 0 :(得分:2)
URI Library具有专门用于检索路由后详细信息的方法。这些方法通常包含r
,例如rsegment()
。
$CI->uri->rsegment_array()
可能就足够了。没有专门的参数,但你可以敲掉前两个数组项,其余的将是你的参数。