
- Laravel 教程
- Laravel - 首頁
- Laravel - 概述
- Laravel - 安裝
- Laravel - 應用結構
- Laravel - 配置
- Laravel - 路由
- Laravel - 中介軟體
- Laravel - 名稱空間
- Laravel - 控制器
- Laravel - 請求
- Laravel - Cookie
- Laravel - 響應
- Laravel - 檢視
- Laravel - Blade 模板
- Laravel - 重定向
- Laravel - 資料庫操作
- Laravel - 錯誤與日誌
- Laravel - 表單
- Laravel - 本地化
- Laravel - 會話
- Laravel - 驗證
- Laravel - 檔案上傳
- Laravel - 傳送郵件
- Laravel - Ajax
- Laravel - 錯誤處理
- Laravel - 事件處理
- Laravel - 門面
- Laravel - 合同
- Laravel - CSRF 保護
- Laravel - 身份驗證
- Laravel - 授權
- Laravel - Artisan 控制檯
- Laravel - 加密
- Laravel - 雜湊
- 理解發布流程
- Laravel - 客人使用者許可權
- Laravel - Artisan 命令
- Laravel - 分頁自定義
- Laravel - Dump Server
- Laravel - 操作 URL
- Laravel 有用資源
- Laravel - 快速指南
- Laravel - 有用資源
- Laravel - 討論
Laravel - 路由
在 Laravel 中,所有請求都透過路由進行對映。基本路由將請求路由到關聯的控制器。本章討論 Laravel 中的路由。
Laravel 中的路由包括以下類別:
- 基本路由
- 路由引數
- 命名路由
基本路由
所有應用程式路由都在 **app/routes.php** 檔案中註冊。此檔案告訴 Laravel 它應該響應的 URI,以及關聯的控制器將對其進行特定呼叫。歡迎頁面的示例路由可以在下面給出的螢幕截圖中看到:

Route::get ('/', function () { return view('welcome');});
示例
觀察以下示例以更深入地瞭解路由:
app/Http/routes.php
<?php Route::get('/', function () { return view('welcome'); });
resources/view/welcome.blade.php
<!DOCTYPE html> <html> <head> <title>Laravel</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; font-family: '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.1</div> </div> </div> </body> </html>
路由機制如下圖所示:

現在讓我們詳細瞭解路由機制中涉及的步驟:
**步驟 1** - 最初,我們應該執行應用程式的根 URL。
**步驟 2** - 現在,執行的 URL 應該與 **route.php** 檔案中的相應方法匹配。在本例中,它應該匹配方法和根 ('/') URL。這將執行相關的函式。
**步驟 3** - 該函式呼叫模板檔案 **resources/views/welcome.blade.php**。接下來,該函式呼叫 **view()** 函式,引數為 **'welcome'**,不使用 **blade.php**。
這將生成如下所示的 HTML 輸出:

路由引數
有時在 Web 應用程式中,您可能需要捕獲傳遞給 URL 的引數。為此,您應該修改 **routes.php** 檔案中的程式碼。
您可以透過兩種方式在 **routes.php** 檔案中捕獲引數,如下所述:
必填引數
這些引數是 Web 應用程式路由必須強制捕獲的引數。例如,從 URL 中捕獲使用者的識別號非常重要。這可以透過定義如下所示的路由引數來實現:
Route::get('ID/{id}',function($id) { echo 'ID: '.$id; });
可選引數
有時開發人員可以將引數設定為可選,這可以透過在 URL 中的引數名稱後新增 **?** 來實現。必須將預設值作為引數名稱提及。請檢視以下示例,該示例顯示瞭如何定義可選引數:
Route::get('user/{name?}', function ($name = 'TutorialsPoint') { return $name;});
上面的示例檢查值是否與 **TutorialsPoint** 匹配,並相應地路由到定義的 URL。
命名路由
命名路由允許以一種方便的方式建立路由。可以使用 name 方法連結到路由定義中來指定路由鏈。以下程式碼顯示了使用控制器建立命名路由的示例:
Route::get('user/profile', 'UserController@showProfile')->name('profile');
使用者控制器將呼叫引數為 **profile** 的 **showProfile** 函式。引數使用 name 方法連結到路由定義中。