60 phút
Routing và Controllers trong Laravel
Routing cơ bản
Định nghĩa routes trong routes/web.php
<?php
// Route cơ bản
Route::get('/', function () {
return 'Chào mừng đến với Laravel!';
});
// Route với tham số
Route::get('/user/{id}', function ($id) {
return 'User ID: ' . $id;
});
// Route với tham số tùy chọn
Route::get('/user/{id?}', function ($id = null) {
return $id ? 'User ID: ' . $id : 'Không có ID';
});
// Route đặt tên
Route::get('/user/profile', function () {
// ...
})->name('profile');
Controllers
Tạo Controller
php artisan make:controller UserController
Controller cơ bản
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function index()
{
return 'Danh sách users';
}
public function show($id)
{
return 'Thông tin user: ' . $id;
}
public function create()
{
return 'Form tạo user mới';
}
public function store(Request $request)
{
// Xử lý dữ liệu từ form
return 'Lưu user thành công';
}
}
Kết nối Route với Controller
Route::get('/users', [UserController::class, 'index']);
Route::get('/users/{id}', [UserController::class, 'show']);
Route::get('/users/create', [UserController::class, 'create']);
Route::post('/users', [UserController::class, 'store']);
Resource Routes
Route::resource('users', UserController::class);
Route resource tự động tạo các route sau:
- GET /users → index
- GET /users/create → create
- POST /users → store
- GET /users/{id} → show
- GET /users/{id}/edit → edit
- PUT/PATCH /users/{id} → update
- DELETE /users/{id} → destroy
Bài tập thực hành
Hãy tạo một controller và routes cho quản lý sản phẩm.