- 设置路由的时候,可以设置第三个数组参数,主要实施匹配检测和行为执行;
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'; } }