简介:建立url和程序间的映射(将用户请求转发至相应程序处理)
请求类型:get、post、put、patch、delete
基本路由:
route::get('hi',function(){
return 'hi';
});
第一个‘hi’为访问路径,第二个‘hi’为返回内容
match:以数组指定多个请求方式
route::match(['get','post'],'req',function(){
return 'hi';
});
any:响应任何请求
route::any('any',function(){
return 'hi';
});
带参数路由:/{id}为参数,函数中可获取,‘?’表示可以不带参数访问(但前提函数变量中要有默认值)
route::get('user/{id?}',function($id="dea"){
return 'hi'.$id;
});
参数限制:where可以使用正则表达式限制参数
route::get('user/{id?}',function($id=0){
return 'hi:'.$id;
})->where('id','[0-9]');
多个参数验证:
route::get('user/{id?}/{name?}',function($id=0,$name="none"){
return 'id:'.$id."-name".$name;
})->where(['id'=>'[0-9]','name'=>'[A-Za-z]']);
全局约束:
如果想要路由参数在全局范围内被给定正则表达式约束,可以使用 pattern
方法。需要在RouteServiceProvider
类的 boot
方法中定义这种约束模式:
public function boot()
{
Route::pattern('id', '[0-9]+');
parent::boot();
}