laravel路由

路由简介

简单的说就是将用户的请求转发给相应的程序进行处理;
作用就是建立url和程序之间的映射。
请求类型:get、post、put、patch、delete


基本路由

Route::get('/',function(){
    return view('welcome');
});
Route::get('basic1',function(){
    return 'Hello World';
});
Route::post('basic2',function(){
    return 'basic2';  //post请求无法通过路由进行访问
}) 

多请求路由

Route::match(['get','post'],'multy1',function(){
    return 'multy1';
});
Route::any('multy2',function(){
    return 'multy2';
})

路由参数

Route::get('user/{id}',function($id){
    return "user-".$id;
});

//路由参数可以是可选的,在后面加一个问号,也可以给一个默认值
Route::get('user/{name?}',function($name= 'liding') {
    return 'user-'.$name;
});

//当然,也可以默认为空
Route::get('user/{name?}',function($name = null ){
    return 'user-'.$name;
});

//更有兴趣的是,这个参数我们还可以使用正则表达式进行限制
Route::get('user/{name?}',function($name = 'lishuo'){
    return 'user-'.$name;
})->where('name','[A-Za-z]+'); //where 后面跟需要验证的字段名

//来看一个比较完整的实例
Route::get('user/{id}/{name?}',function($id,$name='madman'){
    return 'user-'.$id.$name;
})->where([
          'id' => '[0-9]+',
          'name' => '[A-Za-z]+'
          ]);

路由别名

Route::get('user/member-center',['as'=>'center',function(
    return 'member-center';
)]);
 //别名的优点在于:可以在控制器或者路由或者模板中,用route()函数来生成别名对应的url
Route::get('user/member-center',['as'=>'center',function(
    return route('center');
)]);

路由群组

Route::group(['prefix' = > 'member'],function(){
    Route::get('user/{id}',function($id){
        return "user-".$id;
    });
    Route::get('user/{name?}',function($name= 'liding') {
        return 'user-'.$name;
    });
});

路由中输出视图

Route::get('hello',function(){
    return view('welcome');
});  
//其实在实际的开发中,与后台交互的页面很少直接在路由中返回视图;
//我们通过路由绑定controller中的方法进行数据的交互。

你可能感兴趣的:(laravel路由)