Mục tiêu bài học
Sau bài này, bạn sẽ:
✅ Hiểu Laravel là gì và tại sao nó được tạo ra.
✅ Biết mô hình MVC trong Laravel.
✅ Hiểu vai trò của Composer.
✅ Làm quen với Artisan CLI.
✅ Nắm được cấu trúc thư mục của một dự án Laravel.
🌱 Laravel là gì?
Laravel là 01 PHP Framework mã nguồn mở được xây dựng để giúp lập trình viên phát triển các ứng dụng web nhanh hơn, dễ bảo trì hơn và an toàn hơn.
Laravel cung cấp sẵn rất nhiều thành phần cần thiết cho một website hiện đại như:
🛣️ Routing
🗄️ ORM (Eloquent)
🔐 Authentication
📝 Template Engine (Blade)
📂 Upload File
📧 Mail
⚡ Queue
📦 Cache
🌐 REST API
🧪 Testing
Thay vì phải tự viết mọi thứ từ đầu bằng PHP thuần, Laravel đã chuẩn hóa và đóng gói thành các công cụ mạnh mẽ.
🤔 Vì sao Laravel ra đời?
Trước khi Laravel xuất hiện, rất nhiều lập trình viên viết website bằng PHP Core.
Một dự án PHP thuần thường gặp các vấn đề:
❌ Code lặp lại nhiều.
❌ Khó bảo trì khi dự án lớn.
❌ Không có cấu trúc thống nhất.
❌ Tự viết đăng nhập, phân quyền, upload...
❌ Dễ phát sinh lỗi bảo mật nếu không cẩn thận.
Laravel ra đời để giải quyết những hạn chế đó.
🚀 Ưu điểm của Laravel
| 🔢 | ⭐ Tính năng | 📖 Mô tả |
|---|---|---|
| 1️⃣ | 🗂️ Cấu trúc rõ ràng | Tổ chức mã nguồn theo chuẩn MVC |
| 2️⃣ | ⚡ Phát triển nhanh | Nhiều tính năng có sẵn |
| 3️⃣ | 🔒 Bảo mật | Hỗ trợ CSRF, XSS, Hash Password, Validation... |
| 4️⃣ | 🗄️ Eloquent ORM | Làm việc với cơ sở dữ liệu bằng đối tượng |
| 5️⃣ | 🎨 Blade Template | Tách giao diện khỏi xử lý nghiệp vụ |
| 6️⃣ | 📦 Composer | Quản lý thư viện dễ dàng |
| 7️⃣ | 🛠️ Artisan CLI | Sinh mã nguồn và quản lý dự án bằng dòng lệnh |
| 8️⃣ | 🌍 Cộng đồng lớn | Nhiều tài liệu và gói mở rộng |
🏗️ Laravel hoạt động như thế nào?
Một yêu cầu từ trình duyệt sẽ đi qua các bước sau:
Người dùng
│
▼
Route
│
▼
Controller
│
▼
Model
│
▼
Database
│
▼
Controller
│
▼
Blade View
│
▼
Trình duyệt
Đây chính là cách Laravel triển khai mô hình MVC.
🧩 MVC trong Laravel
MVC là viết tắt của:
Model
View
Controller
Ba thành phần này giúp tách biệt dữ liệu, giao diện và xử lý nghiệp vụ.
📦 Model
Model chịu trách nhiệm làm việc với cơ sở dữ liệu.
Ví dụ:
Lấy danh sách sản phẩm
Thêm người dùng
Cập nhật bài viết
Xóa dữ liệu
Ví dụ:
User::all();
🎨 View
View là phần giao diện người dùng.
Laravel sử dụng Blade Template Engine.
Ví dụ:
<h1>Xin chào Laravel</h1>
View chỉ hiển thị dữ liệu, không xử lý nghiệp vụ.
🎮 Controller
Controller là nơi nhận yêu cầu từ người dùng.
Nó sẽ:
nhận Request
gọi Model
xử lý dữ liệu
trả về View
Ví dụ:
public function index()
{
return view('home');
}
🔄 Luồng MVC
Browser
│
▼
Route
│
▼
Controller
│
▼
Model
│
Database
│
▼
Controller
│
▼
View
│
Browser
Nhờ cách tổ chức này, dự án dễ mở rộng và bảo trì hơn.
📦 Composer là gì?
Composer là trình quản lý thư viện (Dependency Manager) dành cho PHP.
Nó giúp:
📥 Cài đặt thư viện
🔄 Cập nhật thư viện
🗑️ Gỡ bỏ thư viện
🔗 Tự động nạp (Autoload) các lớp
Ví dụ cài Laravel:
composer create-project laravel/laravel myapp
Composer sẽ tự động tải tất cả các thư viện mà Laravel cần.
⚙️ Artisan CLI là gì?
Artisan là công cụ dòng lệnh đi kèm Laravel.
Thay vì tự tạo từng tệp bằng tay, Artisan có thể sinh mã nguồn chỉ với một lệnh.
Ví dụ:
Khởi động máy chủ phát triển:
php artisan serve
Tạo Controller:
php artisan make:controller ProductController
Tạo Model:
php artisan make:model Product
Tạo Migration:
php artisan make:migration create_products_table
Tạo Seeder:
php artisan make:seeder ProductSeeder
Artisan còn hỗ trợ hàng trăm lệnh khác giúp tăng tốc quá trình phát triển.
📁 Cấu trúc thư mục Laravel
Sau khi tạo dự án, bạn sẽ thấy cấu trúc tương tự:
app/
bootstrap/
config/
database/
public/
resources/
routes/
storage/
tests/
vendor/
.env
artisan
composer.json
📂 app/
Chứa phần lớn mã nguồn của ứng dụng.
Ví dụ:
Controllers
Models
Middleware
Providers
📂 routes/
Định nghĩa các tuyến đường (Route).
Các tệp phổ biến:
web.php
api.php
console.php
📂 resources/
Chứa tài nguyên của dự án.
Bao gồm:
Blade View
CSS
JavaScript
Hình ảnh (tùy cấu hình dự án)
📂 public/
Đây là thư mục truy cập từ trình duyệt.
Thường chứa:
index.php
favicon
ảnh công khai
tệp CSS và JavaScript sau khi build
📂 database/
Chứa các tệp liên quan đến cơ sở dữ liệu:
Migration
Seeder
Factory
📂 storage/
Lưu trữ dữ liệu phát sinh trong quá trình chạy:
Log
Cache
Session
Tệp người dùng tải lên (tùy cấu hình)
📂 vendor/
Đây là nơi Composer cài đặt toàn bộ thư viện phụ thuộc.
⚠️ Không nên chỉnh sửa trực tiếp các tệp trong thư mục này.
📄 .env
Lưu cấu hình của ứng dụng, ví dụ:
Kết nối cơ sở dữ liệu
Khóa ứng dụng
Mail
Cache
Queue
Tệp này thường không được đưa lên kho mã nguồn công khai.
📌 Tóm tắt
| 🔢 | 📚 Nội dung | ✅ Ghi nhớ |
|---|---|---|
| 1️⃣ | 🌱 Laravel | Framework PHP hiện đại để phát triển ứng dụng web |
| 2️⃣ | 🏗️ MVC | Tách Model, View và Controller |
| 3️⃣ | 📦 Composer | Quản lý thư viện và tự động nạp lớp |
| 4️⃣ | ⚙️ Artisan | Công cụ dòng lệnh hỗ trợ phát triển |
| 5️⃣ | 📁 Cấu trúc thư mục | Mỗi thư mục đảm nhiệm một vai trò riêng |
🎯 Kết luận
Laravel giúp quá trình phát triển ứng dụng web trở nên nhanh hơn, có cấu trúc hơn và dễ bảo trì hơn so với việc xây dựng hoàn toàn bằng PHP thuần. Việc hiểu rõ các khái niệm nền tảng như MVC, Composer, Artisan và cấu trúc thư mục sẽ giúp bạn tiếp cận những bài học tiếp theo một cách thuận lợi.
➡️ Ở bài tiếp theo, chúng ta sẽ cài đặt Laravel 12, thiết lập môi trường làm việc và chạy ứng dụng đầu tiên trên máy tính.




Không có nhận xét nào:
Đăng nhận xét