在CentOS系统中编写Laravel控制器需要遵循以下步骤:
composer global require laravel/installer
laravel new project-name
这将创建一个新的Laravel项目,其中包含所有必要的文件和目录。
cd project-name
UserController
的控制器,可以运行以下命令:php artisan make:controller UserController
这将在app/Http/Controllers
目录下创建一个名为UserController.php
的新文件。
UserController.php
文件并编写你的控制器逻辑。例如:<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
// 显示用户列表
public function index()
{
return view('users.index');
}
// 显示创建新用户的表单
public function create()
{
return view('users.create');
}
// 存储新用户
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:8',
]);
$user = User::create([
'name' => $validatedData['name'],
'email' => $validatedData['email'],
'password' => bcrypt($validatedData['password']),
]);
return redirect()->route('users.index');
}
// 显示编辑用户表单
public function edit(User $user)
{
return view('users.edit', compact('user'));
}
// 更新用户
public function update(Request $request, User $user)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email|unique:users,email,' . $user->id,
'password' => 'nullable|min:8',
]);
$user->update([
'name' => $validatedData['name'],
'email' => $validatedData['email'],
'password' => $validatedData['password'] ? bcrypt($validatedData['password']) : $user->password,
]);
return redirect()->route('users.index');
}
// 删除用户
public function destroy(User $user)
{
$user->delete();
return redirect()->route('users.index');
}
}
routes/web.php
文件中定义路由以映射到控制器方法。例如:use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index'])->name('users.index');
Route::get('/users/create', [UserController::class, 'create'])->name('users.create');
Route::post('/users', [UserController::class, 'store'])->name('users.store');
Route::get('/users/{user}/edit', [UserController::class, 'edit'])->name('users.edit');
Route::put('/users/{user}', [UserController::class, 'update'])->name('users.update');
Route::delete('/users/{user}', [UserController::class, 'destroy'])->name('users.destroy');
现在,你已经成功创建了一个Laravel控制器并为其定义了相应的路由。你可以根据需要修改控制器中的方法和逻辑。