📜  Laravel-路由

📅  最后修改于: 2020-10-23 07:57:53             🧑  作者: Mango


在Laravel中,所有请求都在路由的帮助下进行映射。基本路由会将请求路由到关联的控制器。本章讨论Laravel中的路由。

Laravel中的路由包括以下类别-

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

基本路由

所有应用程序路由都在app / routes.php文件中注册。该文件告诉Laravel应响应的URI,关联的控制器将对其进行特定的调用。可以看到欢迎页面的示例路线,如下面的屏幕快照所示-

路线

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

观察以下示例以了解有关路由的更多信息-

app / Http / routes.php

资源/视图/welcome.blade.php

Laravel
      
      
      
   
   
   
      
Laravel 5.1

路由机制如下图所示:

路由机制

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

步骤1-最初,我们应该执行应用程序的根URL。

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

步骤3-该函数调用模板文件resources / views / welcome.blade.php。接下来,该函数使用参数‘welcome’调用view()函数,而不使用blade.php

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

Laravel5

路线参数

有时在Web应用程序中,您可能需要捕获随URL传递的参数。为此,您应该修改routes.php文件中的代码。

您可以按照此处讨论的两种方式在route.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 。参数在路由定义上使用名称方法。