控制器是这样的:
class Abc extends CI_controller{
public function index(){...}
public function f1(){...}
}
如果url是http:// host / app / Abc / index,则获取函数索引
如果url是http:// host / app / Abc / f1,则获取函数f1
如果url是http:// host / app / Abc,则获取函数索引,因为它是默认值
但是如果url是http:// host / app / Abc / f2,则打印404找不到
我希望如果url是http:// host / app / Abc / f2,它可以转向索引功能.
如果不能这样做,我想自动添加新功能,我该怎么办?
编辑
我想在一个特定的类中使用它,我可以编辑全局路由吗?怎么样?
解决方法:
您可以通过两种方式首先编辑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(){...}
}