📅  最后修改于: 2023-12-03 15:07:42.278000             🧑  作者: Mango
在 Laravel 8 中,创建基本路由非常简单。Laravel 8 为开发人员提供了一种简单和直观的方式来创建路由。
要创建路由,首先打开 routes/web.php
文件。在这个文件中,您可以定义所有应用程序的路由。
您可以使用 Route::get()
方法来创建 GET 请求路由。例如,要创建一个基本的 /hello
端点,可以执行以下操作:
Route::get('/hello', function () {
return 'Hello World';
});
上述路由定义将返回字符串 'Hello World'
。
如果您要创建 POST、PUT、DELETE 或任何其他类型的路由,则可以使用相应的方法,例如 Route::post()
、Route::put()
、Route::delete()
等。
Laravel 8 也允许您定义带有参数的路由。例如,要定义一个接受单个参数的路由,可以执行以下操作:
Route::get('/user/{id}', function ($id) {
return 'User ID: ' . $id;
});
在上面的示例中,{id}
是一个路由参数。Laravel 8 将使用传递到路由的实际值替换路由参数。在这种情况下,路由的响应将是类似于 "User ID: 1"
的字符串。
您还可以定义多个路由参数,例如:
Route::get('/user/{id}/note/{note}', function ($id, $note) {
return 'User ID: ' . $id . ', Note ID: ' . $note;
});
上面的示例定义了两个路由参数:{id}
和 {note}
。Laravel 8 将路由参数中传递的实际值替换相应的参数,该示例的响应将类似于 "User ID: 1, Note ID: 2"
。
Laravel 8 允许您为路由定义名称。命名路由对于生成 URL 和重定向非常有用。
要定义命名路由,请使用 Route::name()
方法:
Route::get('/users', function () {
//
})->name('users.index');
在上面的示例中,我们为 /users
路由定义了一个名称 users.index
。
您可以使用命名路由在代码中生成 URL。例如,要生成一个指向 users.index
路由的 URL,可以使用以下代码:
$url = route('users.index');
上面的代码将返回 http://example.com/users
。
如果您有一组相关的路由,那么可以将这些路由放在一个路由组中。路由组允许您添加统一的前缀、中间件和命名空间。
要创建路由组,请使用 Route::group()
方法:
Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function () {
Route::get('dashboard', function () {
// Dashboard
});
Route::get('users', function () {
// Users
});
Route::get('settings', function () {
// Settings
});
});
在上面的示例中,我们将所有位于 /admin
前缀下的路由放在一个路由组中,并应用了 auth
中间件。这意味着用户必须已经通过身份验证才能访问这些路由。