解惑:CI中的默认控制器不是不能是“default”或者“index”
我是初学者,如题,我改routes.php的$route['default_controller'] = ""为routes.php的$route['default_controller'] = "default"或者routes.php的$route['default_controller'] = "index"运行时,问题报错,改成其它名称就没问题。 你那报什么错误? default是php的关键字,不能用的。至于index么…… 不太清楚,貌似不在reserved keywords里,但也许CI内部屏蔽掉了。 我记得我用过 index~~ index作为默认控制器不可以,我也是报一些莫名其妙的错误改成其他就没问题(我改成了home)。 本帖最后由 moony 于 2012-3-29 17:41 编辑index可以做默认控制器,但是如果他的默认方法也是index()就会报错,因为php会把index()当作构造函数来处理。
可以修改默认方法来化解这个冲突,不知道哪里可以设置控制器的默认方法,我的做法是在index控制器中加入_remap()方法来重置默认方法。
public function _remap($method)
{
if ($method == 'index')
{
$this->home();
}
}
不知道对不对,求大牛指教!~
改了这里的设置,要有对应的控制器
页:
[1]