Laravel 路由

Laravel 路由

在Laravel中,所有的请求都通过路由进行映射。基本路由将请求路由到相关的控制器。本章讨论了Laravel中的路由。

Laravel的路由包括以下几个类别 −

  • 基本路由
  • 路由参数
  • 命名路由

基本路由

所有的应用路由都在 app/routes.php 文件中注册。这个文件告诉Laravel它应该响应哪些URI,并且与控制器关联起来。欢迎页面的示例路由可以如下所示的屏幕截图所示。

Laravel 路由

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>

路由机制如下图所示−

Laravel 路由

让我们现在详细了解路由机制涉及的步骤 −

第1步 - 首先,我们应该执行应用程序的根URL。

第2步 - 现在,执行的URL应该与 route.php 文件中的相应方法匹配。在目前的情况下,它应该匹配方法和根(‘/’) URL。这将执行相关的函数。

第3步 - 该函数调用模板文件 resources/views/welcome.blade.php. 然后,函数调用 view() 函数,参数为 ‘welcome’ ,不使用 blade.php.

这将产生如下所示的HTML输出:

Laravel 路由

路由参数

在 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** ') { returnname;});

上面的示例检查值是否与 TutorialsPoint 匹配,并相应地路由到定义的URL。

命名路由

命名路由提供了一种方便的创建路由的方式。可以使用name方法在路由定义上指定路由的链接。以下代码显示了使用控制器创建命名路由的示例:

Route::get('user/profile', 'UserController@showProfile')->name('profile');

用户控制器将调用函数 showProfile ,参数为 profile 。参数使用 name 方法定义在路由中。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程