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
广告