Laravel控制器处理请求,使用Artisan命令php artisan make:controller创建,带--resource参数可生成CRUD方法;通过引入Request类获取输入并验证数据,在路由文件中绑定URL与控制器方法,实现请求响应流程。

在 Laravel 中,控制器是处理网页请求的核心部分,负责接收请求、处理业务逻辑并返回响应。创建控制器非常简单,Laravel 提供了 Artisan 命令行工具来快速生成控制器类。
使用 Artisan 命令创建控制器
Laravel 自带的 Artisan 工具可以一键生成控制器文件。打开终端,进入项目根目录,运行以下命令:
php artisan make:controller UserController这条命令会在 app/Http/Controllers 目录下创建一个名为 UserController.php 的文件。默认生成的是空控制器,你可以手动添加方法。
如果你想直接生成带有资源方法(如 index、create、store、show 等)的控制器,可以加上 --resource 参数:
php artisan make:controller PostController --resource这会生成一个包含标准 CRUD 方法的控制器,适合配合资源路由使用。
控制器中处理请求
控制器方法接收客户端请求,可以引入 Illuminate\Http\Request 类来获取输入数据。
例如,在控制器中处理表单提交:
public function store(Request $request)
{
$name = $request->input('name');
$email = $request->input('email');
// 处理数据,比如保存到数据库
// User::create([...]);
return redirect('/users')->with('success', '用户创建成功');
}
你还可以对请求数据进行验证:
$request->validate(['name' => 'required|string|max:255',
'email' => 'required|email|unique:users',
]);
路由绑定控制器
创建控制器后,需要在路由中调用它。打开 routes/web.php 文件,添加路由规则。
例如,将 URL 请求指向控制器的方法:
use App\Http\Controllers\UserController;Route::get('/users', [UserController::class, 'index']);
Route::post('/users', [UserController::class, 'store']);
如果是资源控制器,可以直接使用 resource 方法注册所有 CRUD 路由:
Route::resource('posts', PostController::class);基本上就这些。Laravel 控制器的创建和请求处理流程清晰,结合路由和请求对象,能高效组织 Web 应用逻辑。不复杂但容易忽略细节,比如命名空间和类引用。










