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很有帮助。 【Laravel命名路线】命名路由中的参数
命名路由也可以用于定义参数。这些参数可以作为第二个参数传递给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="http://www.srcmini.com/{{ route('student.details') }}"> Student< /a>

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

文章图片
Laravel命名路线

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

    推荐阅读