📖 Laravel Cơ bản đến Nâng cao - Routing và Controllers
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.

📝 Bài tập (1)

  1. Thực hành tạo controller và routes

Bài học "Routing và Controllers" - Khóa học "Laravel Cơ bản đến Nâng cao"