laravel 框架中的路由

  • Post author:
  • Post category:其他


路由中的常用方法

laravel 框架中的路由都定义在routes/web.php中,常用Route类中的get/ any/ match 方法来定义路由,其中any/match都支持多种请求方式,group方法可以用于定义路由群组,比如:

Route::get('integration', function () {
    return "hello world";
});

上述代码中get方法需要两个参数,一个是url地址 (integration前框架会自动添加定义在xampp中的url地址),一个是function,里面是我们需要返回的值或者view。

如果是view,可以定义成这个样子:

Route::get('/', function () {
    return view('welcome');
});

laravel中路由定义的常用方法:

1. get 方法: 同上

2. any 方法(多路由请求):即任何方式都可以触发此路由,比如:

Route::any('multi2', function(){
   return "multi2";
});

3. match 方法 (多路由请求):

Route::match(['get', 'post'], 'multi1', function(){
    return 'multi1';   // 此路由支持get/post方式触发
});

3. 路由群组

Route::group(['prefix'=>"member"], function(){
    // 下面的路由都会带有member前缀
    Route::get('user/center', ['as'=>'center', function(){
        return route('center');
    }]);
    Route::any('multy2', function(){
        return "group-multi2";
    });
});

如何在路由中添加参数?- 大括号的妙用 {}

Route::get("user/{id}/{name?}", function($id,$name=null){
   return "User-yingkun-".$id."-".$name;
});

如何在路由中添加一些参数限制? — 使用where方法

Route::get("user/{id}/{name}", function($id, $name){
   return "User-" . $id . "-name-" . $name;
})->where(["id"=>"\d+", "name"=>"[A-Za-z]+"]);

路由别名

Route::get("user/member-center", ["as"=>"center", function(){
//    return "member-center";
    return route('center');   // route函数就是用于生成指定路由的url地址的
}]);



版权声明:本文为GYK0812原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。