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>
    
    路由机制如下图所示 -
    路由机制
    现在让我们详细了解路由机制涉及的步骤 -
    Step 1− 最初,我们应该执行应用程序的根 URL。
    Step 2- 现在,执行的 URL 应该与route.php文件。在本例中,它应该与方法和根 ('/') URL 匹配。这将执行相关功能。
    Step 3− 函数调用模板文件resources/views/welcome.blade.php.接下来,该函数调用view()带参数的函数‘welcome’不使用blade.php.
    这将产生 HTML 输出,如下图所示 -
    Laravel5
  • 路由参数

    有时在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。
  • 命名路由

    命名路由提供了一种创建路由的便捷方法。可以使用路由定义上的名称方法来指定路由链接。以下代码显示了使用控制器创建命名路由的示例 -
    
    Route::get('user/profile', 'UserController@showProfile')->name('profile');
    
    用户控制器将调用该函数showProfile参数为profile。参数使用name方法到路由定义上。