个性化阅读
专注于IT技术分析

Laravel命名路线

命名路由是Laravel框架的重要功能。它允许你在生成URL或重定向到特定路由时引用路由。简而言之, 我们可以说命名路线是为路线提供昵称的方式。

定义命名路径的语法:

我们可以通过将name方法链接到路由定义上来定义命名路由:

Route::get('student/details', function()
{
    //
}) -> name('student_details');

我们还可以为控制器动作指定命名路由:

路线:: get(’student / details’, ‘studentcontroller @ showdetails’)-> name(’student_details’);

生成指向命名路由的URL

将命名路由分配给给定路由后, 便可以在生成URL或通过全局路由功能重定向时使用该路由的名称。

//Generating URLs
$url= route('student_details');
//Generating Redirects...
return redirect() -> route('student_details');

假设我们在URL中有许多参数。在这种情况下, 我们可以为URL提供简称。我们使用一个包装所有内容的数组, 它在get()函数中作为第二个参数出现。让我们通过一个例子来理解。

Route::get('student/details/example', array 
('as'=>'student.details', function()
{
   $url=route('student.details');
   return "The url is : " .$url;
}));

输出:

Laravel命名路线

我们还可以从Git bash窗口检查路线名称。

  • 首先, 打开Git Bash窗口。
  • 移至Git Bash窗口上的项目文件夹, 然后键入命令php artisan route:list。
Laravel命名路线

上面的输出屏幕显示了URL及其相应的名称, 即URL的名称“ student / details / example”是student.details。

注意:使用命名路由的好处是, 如果我们更改路由的位置, 那么链接也将起作用, 或者可以说, 这对于动态更改URL很有帮助。

命名路由中的参数

命名路由也可以用于定义参数。这些参数可以作为第二个参数传递给route函数, 并且这些参数会自动插入到URL的正确位置:

Route::get('user/{id}/profile', function($id)
{
   $url=route('profile', ['id'=>100]);
    return $url;
})->name('profile');

输出:

Laravel命名路线

使用命名路线从一条路线导航到另一条路线

我们也可以使用命名路线从一条路线导航到另一条路线。

步骤1:在web.php文件中定义路由。

Route::Get('/', function()
{
  return view('student');
});

Route::get('student/details', function()
{
  $url=route('student.details');
 return $url;
})->name('student.details');

步骤2:移至resources文件夹, 然后单击views文件夹。

步骤3:创建一个新文件, 并将其命名为student.blade.php。

<a href="{{ route('student.details') }}">Student</a>

上面的代码从学生页面导航到student.details, 这是命名的路线。

输出:

Laravel命名路线
Laravel命名路线

说明

当我们输入根目录的路由(即localhost / laravelproject / public /)时, 将在上面的屏幕快照中显示学生的视图, 该屏幕快照显示了学生的链接。当我们单击“学生”链接时, 将出现新页面, 其命名路线为Student.details。


赞(0)
未经允许不得转载:srcmini » Laravel命名路线

评论 抢沙发

评论前必须登录!