在 Laravel 中,路由是指定应用程序 URL 结构和处理 HTTP 请求的方法。要定义和使用 Laravel 路由,请按照以下步骤操作:
打开 routes 文件夹:在 Laravel 项目的根目录中,找到名为 routes 的文件夹。这个文件夹包含了所有与路由相关的文件。
编辑 web.php 文件:在 routes 文件夹中,打开名为 web.php 的文件。这个文件主要用于定义 web 请求的路由。
定义路由:在 web.php 文件中,可以使用 Route 类的静态方法来定义路由。例如,要定义一个处理 GET 请求的路由,可以使用 Route::get() 方法。以下是一个简单的示例:
Route::get('/', function () {
return 'Hello, World!';
});
这个示例定义了一个路由,当用户访问应用程序的根 URL(例如 http://example.com/)时,将返回 “Hello, World!” 字符串。
Route::get('/user/{id}', function ($id) {
return 'User ' . $id;
});
在这个示例中,{id} 是一个路由参数,它将捕获 URL 中的数字部分。当用户访问类似 http://example.com/user/1 的 URL 时,将返回 “User 1” 字符串。
Route 类的静态方法中添加 name() 方法。例如:Route::get('/user/{id}', function ($id) {
return 'User ' . $id;
})->name('user.profile');
现在,可以使用 route() 函数和路由名称来生成 URL 或重定向。例如:
$url = route('user.profile', ['id' => 1]); // 生成 "http://example.com/user/1"
定义其他类型的路由:除了 get() 方法外,Route 类还提供了其他方法来处理不同类型的 HTTP 请求,如 post()、put()、delete() 等。只需将方法名称更改为所需的方法即可。
集成控制器:虽然可以在 web.php 文件中直接定义路由处理程序,但建议使用控制器来组织代码。要创建控制器,请运行以下 Artisan 命令:
php artisan make:controller UserController
这将在 app/Http/Controllers 文件夹中创建一个名为 UserController.php 的文件。然后,可以在控制器中定义方法来处理路由请求。例如:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function show($id)
{
return 'User ' . $id;
}
}
接下来,在 web.php 文件中,可以将路由处理程序替换为控制器方法:
Route::get('/user/{id}', 'UserController@show');
这就是在 Laravel 中定义和使用路由的基本方法。更多关于路由的信息,请查阅 Laravel 文档:https://laravel.com/docs/routing