我在codeigniter中有一个名为'Main'的控制器,具有以下功能:
public function index ($id = false, $filter ='htmlentities') {
...
...
}
我想通过URI'跳'第一个参数调用它,使其保持'false': 我想通过URI使用类似的东西:
'main/index/false/myfilter'
然而,这不起作用,有没有人知道如何'跳'这个第一个参数,以便它的值仍然是假的,但我能够更改过滤器?
(在功能中更改参数顺序不是一个选项)
答案 0 :(得分:1)
只需测试控制器方法顶部的字符串'false'
:
public function index ($id = false, $filter ='htmlentities') {
if ($id == 'false') {
$id = false;
}
// ...
}
另一种可能性是使用custom route并简单地丢弃第一个参数。在app/config/routes.php
文件中,添加规则:
$route['main/index/:filter'] = 'main/index/false/$1';
现在,当您访问'main / index / myfilter'时,$id
参数将设置为false
(字符串,而不是布尔值!)