Mag*_*uly 3 php routing codeigniter
控制器是这样的:
class Abc extends CI_controller{
public function index(){...}
public function f1(){...}
}
Run Code Online (Sandbox Code Playgroud)
如果url是http://host/app/Abc/indexget函数索引
如果url是http://host/app/Abc/f1get函数f1
如果url是http://host/app/Abcget函数索引因为它是默认的
但是如果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';
Run Code Online (Sandbox Code Playgroud)
第二个选项在控制器内,您可以使用_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(){...}
}
Run Code Online (Sandbox Code Playgroud)