控制器是这样的:
class Abc extends CI_controller{
public function index(){...}
public function f1(){...}
}
如果网址是http://host/app/Abc/index
它得到函数索引
如果网址是http://host/app/Abc/f1
它得到函数 f1
如果网址是http://host/app/Abc
它获得函数索引,因为它是默认的
但如果网址是http://host/app/Abc/f2
它打印 404 未找到
我预计如果 url 是http://host/app/Abc/f2
它可以转向索引功能。
如果不能这样做,我想自动添加新功能,我该怎么办?
EDIT
我只想在特定类中使用它,我可以编辑全局路由吗?如何?
有两种方法可以做到这一点:首先编辑routes.php文件并将404_override更改为控制器函数,这会将所有404请求重定向到该控制器函数
form
$route['404_override'] = 'welcome';
to
$route['404_override'] = 'ABC/index';
第二个选项是在控制器内,您可以使用 _remap 方法/函数来检查函数/方法是否存在。控制器会是这样的
class Abc extends CI_controller{
function _remap($method_name = 'index'){
if(!method_exists($this, $method_name)){
$this->index();
}
else{
$this->{$method_name}();
}
}
public function index(){...}
public function f1(){...}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)