假设我在 Controller 中有一个名为
的方法book($chapter,$page);
其中 $chapter 和 $page 必须是整数。要访问该方法,URI 将如下所示
book/chapter/page
例如,
book/1/1
如果用户尝试在不传递所有参数或错误参数的情况下访问 URI,例如
book/1/
或者 书/abcxyz/1
我可以做一些 if else 语句来处理,比如
if(!empty($page)){
//process
}else{
//redirect
}
我的问题是,是否有任何最佳实践来处理用户传递的那些无效参数? 我的最终目标是在出现无效参数时重定向到主页?我怎样才能做到这一点?
最佳答案
在 config/routes.php
中使用 CodeIgniter 路由在这里非常有用,像这样:
$route['book/(:num)/(:num)'] = "book/$1/$2";
$route['book/(:any)'] = "error";
$route['book'] = "error";
应该捕获一切。您几乎可以在路由中使用任何正则表达式,因此可以验证参数是否为数字、是否以小写字母开头等。
关于codeigniter - 处理无效参数的最佳实践 CodeIgniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8123090/