在CentOS系统上编写Laravel控制器,你需要遵循以下步骤:
composer create-project --prefer-dist laravel/laravel your_project_name
将your_project_name
替换为你的项目名称。
php artisan make:controller YourControllerName
将YourControllerName
替换为你想要的控制器名称,例如UserController
。这将在app/Http/Controllers
目录下创建一个新的控制器文件。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
// 显示用户列表
public function index()
{
// 获取所有用户
$users = \App\Models\User::all();
// 返回视图并传递用户数据
return view('users.index', compact('users'));
}
// 显示创建新用户的表单
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 = \App\Models\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');
}
}
这个示例中的UserController
包含了一些基本的CRUD操作。你可以根据自己的需求修改这些方法。
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控制器,并为其定义了路由。你可以根据需要扩展控制器的功能。