- 设置路由的时候,可以设置第三个数组参数,主要实施匹配检测和行为执行;
2. ext 参数作用是检测 URL 后缀,比如:我们强制所有 URL 后缀为.html; Route::get('details/:id', 'address/details', ['ext'=>'html']);
...['ext'=>'html|shtml']
//支持多个
- 第三数组参数也可以作为对象的方法存在,比如改下成如下形式;
Route::get('details/:id', 'address/details')->ext('html');
- https 参数作用是检测是否为 https 请求,结合 ext 强制 html 如下;
Route::get('details/:id', 'address/details', ['ext'=>'html', 'https'=>true]);
Route::get('details/:id', 'address/details')->ext('html')->https();
- 如果想让全局统一配置 URL 后缀的话,可以在 app.php 中设置;
//设置 false 为禁止后缀,空允许所有后缀
'url_html_suffix' => 'html',
- denyExt 参数作用是禁止某些后缀的使用;
Route::get('details/:id', 'address/details')->denyExt('gif|jpg|png');
- filter 参数作用是对额外参数进行检测;
Route::get('details/:id', 'address/details')->filter('id', 10);
- model 参数作用是绑定到模型,第三参数设置 false 避免异常,也可以多参数;
Route::get('user/:id', 'address/getUser')->model('id', '\app\model\User');
...->model('id', '\app\model\User',false);
Route::get('user/:id/:name'...->model('id&name', '\app\model\User');
- option 参数作用是全局的路由进行配置,且可以多次调用;
Route::>option('ext', 'html')->option('https', true);
快捷路由
- 快捷路由可以快速给控制器注册路由,还可以更加不同的请求类型设置前缀;
Route::controller('short', 'Short');
- 快捷路由控制器和方法的编写原则,给方法前面加上 get 或 post 等请求类型;
class Short extends Controller {
public function index()
{
return 'index';
}
public function getInfo()
{
return 'getInfo';
}
public function getList()
{
return 'getList';
}
public function postInfo()
{
return 'postInfo';
}
}