NTM Solutions

Bài đăng nổi bật

📘 Bài 01 — Laravel là gì?🌱

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 C...

Thứ Hai, 6 tháng 7, 2026

📘 Bài 01 — Laravel là gì?🌱

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àngTổ chức mã nguồn theo chuẩn MVC
2️⃣⚡ Phát triển nhanhNhiều tính năng có sẵn
3️⃣🔒 Bảo mậtHỗ trợ CSRF, XSS, Hash Password, Validation...
4️⃣🗄️ Eloquent ORMLàm việc với cơ sở dữ liệu bằng đối tượng
5️⃣🎨 Blade TemplateTách giao diện khỏi xử lý nghiệp vụ
6️⃣📦 ComposerQuản lý thư viện dễ dàng
7️⃣🛠️ Artisan CLISinh mã nguồn và quản lý dự án bằng dòng lệnh
8️⃣🌍 Cộng đồng lớnNhiề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️⃣🌱 LaravelFramework PHP hiện đại để phát triển ứng dụng web
2️⃣🏗️ MVCTách Model, View và Controller
3️⃣📦 ComposerQuản lý thư viện và tự động nạp lớp
4️⃣⚙️ ArtisanCông cụ dòng lệnh hỗ trợ phát triển
5️⃣📁 Cấu trúc thư mụcMỗ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, Artisancấ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.

╭──────────────────────────────╮
Made by AI 🤖 • Code • Learn • Build 🚀
╰──────────────────────────────╯

x1
quay về MỤC LỤC

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

Đăng nhận xét

Facebook Youtube RSS