Laravel 中的命名路由是什么?


在 Laravel 中,路由定义在 routes/ 文件夹内。项目中所需的所有路由都定义在 routes/web.php 中。

示例 1

定义路由的一个简单示例如下所示:

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

所以现在当你访问页面https://127.0.0.1:8000/时,你将被重定向到 view(‘welcome’)。

命名路由是指带有名称的路由。为定义的路由指定一个名称,然后可以在用户想要执行重定向时使用该名称。

示例 2

这是一个命名路由的示例

使用函数

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

使用控制器

Route::get('test/student', [StudentController::class, 'test'] )->name('student_test');

输出

在上面的示例中,路由 test/student 被赋予了一个名为 student_test 的名称。当你检查输出时,它将如下所示

示例 3

当你列出路由时,name 列将为命名路由显示一个名称。

命令:PHP artisan route: list

test/student 的名称将被显示。

示例 4

获取命名路由的 URL。

在这个示例中,我们将看到如何使用路由名称获取 URL。

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

输出

当你访问 URL:http://127.0.0.1:8000/test/student 时,它将给出如下所示的输出

http://127.0.0.1:8000/test/student

示例 5

命名路由中的参数。

在这个示例中,我们将看到如何访问传递给命名路由的参数。

Route::get('test/{studentid}/student', function($studentid) { $url=route('student_test',['studentid'=>1]); return $url; })->name('student_test');

输出

当你访问 URL:http://127.0.0.1:8000/test/1/student 时的输出如下

http://127.0.0.1:8000/test/1/student

更新于: 2022-08-30

3K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告