Laravel路由


基本路由是指以路由您的請求到一個適當的控制器。 應用程式的路由,可以在 app/Http/routes.php 檔案中定義。這裡是針對每個可能請求的一般路由語法。
Route::get('/', function () {
   return 'Hello World';
});

Route::post('foo/bar', function () {
   return 'Hello World';
});

Route::put('foo/bar', function () {
   //
});

Route::delete('foo/bar', function () {
   //
});
現在讓我們來了解 Laravel 網頁上如何使用路由。

範例

app/Http/routes.php

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

resources/view/welcome.blade.php

<!DOCTYPE html>
<html>
   
   <head>
      <title>Laravel - tw511.com</title>
      <link href = "https://fonts.googleapis.com/css?family=Lato:100" rel = "stylesheet" 
         type = "text/css">
      
      <style>
         html, body {
            height: 100%;
         }
         body {
            margin: 0;
            padding: 0;
            width: 100%;
            display: table;
            font-weight: 100;
            'Lato';
         }
         .container {
            text-align: center;
            display: table-cell;
            vertical-align: middle;
         }
         .content {
            text-align: center;
            display: inline-block;
         }
         .title {
            font-size: 96px;
         }
      </style>
   </head>
   
   <body>
      <div class = "container">
         
         <div class = "content">
            <div class = "title">Laravel 5</div>
         </div>
			
      </div>
   </body>

</html>
路由機制如下圖中所描述 -

現在讓我們來詳細了解相關步驟 -
  • 步驟1 ? 首先,我們需要執行應用程式的根URL。

  • 步驟2 ? 執行URL將匹配 route.php 檔案中適當的方法。在我們的範例中,將匹配得到方法和根(「/」)的URL。這將執行相關的函式。

  • 步驟3 ? 該函式呼叫模板檔案resources/views/welcome.blade.php. 該函式之後使用引數「welcome」 呼叫 view( )函式而不帶blade.php。這將產生以下HTML輸出。

路由引數

通常在應用程式中,我們都會捕捉 URL 中傳遞的引數。要做到這一點,我們需要相應地修改 routes.php 檔案檔案中的程式碼。有兩種方式,使我們可以捕捉 URL 中傳遞的引數。

  • 必需的引數
  • 可選的引數

必需的引數

這些引數必須存在於 URL 中。例如,您可能要從URL中捕獲ID用來做與該ID相關的事情。下面是 routes.php 檔案的範例編碼。

Route::get('ID/{id}',function($id){
   echo 'ID: '.$id;
}); 

我們傳遞引數在根URL後面 (http://localhost:8000/ID/5),它將被儲存在$id變數中,我們可以使用這個引數做進一步處理,但在這裡只是簡單地顯示它。我們可以把它傳給檢視或控制器進行進一步的處理。

可選引數

有一些引數可能或可能不存在於該URL,這種情況時可使用可選引數。這些引數的存在於URL中不是必需的。這些引數是由「?」符號之後標明引數的名稱。下面是 routes.php 檔案的範例編碼。

Route::get('/user/{name?}',function($name = 'Virat'){
   echo "Name: ".$name;
});

範例

routes.php

<?php

// First Route method – Root URL will match this method
Route::get('/', function () {
   return view('welcome');
});

// Second Route method – Root URL with ID will match this method
Route::get('id/{id}',function($id){
   echo 'The value of ID is: '.$id;
});

// Third Route method – Root URL with or without name will match this method
Route::get('/user/{name?}',function($name = 'Virat Gandhi'){
   echo "The value of Name is: ".$name;
}); 

第1步 - 在這裡,我們定義了3個路由使用get方法用於不同的目的。如果我們執行下面的網址則它將執行第一個方法。

http://localhost:8000

第2步 - URL成功執行後,您會收到以下輸出 -

第3步 ?如果我們執行下面的網址,將執行第二個方法,崦引數/引數ID將被傳遞到變數$id。

http://localhost:8000/id/365

第4步 ? URL成功執行後,會收到以下輸出 -

第5步 ? 如果執行下面的網址將執行第三個方法,可選引數/引數名稱將傳遞給變數$name。最後一個引數 'Virat「 是可選的。如果你刪除它,預設的名稱將被使用,我們的函式傳遞 「yiibai」 引數值。

http://localhost:8000/user/Yiibai

第6步 ? URL成功執行後,您會收到以下輸出-

註 - 正規表示式也可以被用來匹配引數。