37 bài học, một hành trình xây dựng ứng dụng: chuỗi Học Laravel 13 dùng TaskFlow để nối kiến thức nền tảng với những câu hỏi thực tế: dữ liệu đi đâu, ai được phép thao tác, điều gì xảy ra khi job thất bại và làm sao biết một thay đổi không phá chức năng cũ? Phụ lục này giới thiệu toàn cảnh khóa học, giải thích vai trò của từng chặng và tập hợp liên kết để bạn tra cứu khi thực hành.
Đây là bài đọc đồng hành, không phải Bài 38 và không thay thế nội dung chi tiết. Nếu chỉ cần danh sách ngắn gọn, mở mục lục chính của khóa học. Nếu chưa biết bắt đầu từ đâu hoặc muốn ôn lại kiến thức theo vấn đề, hãy dùng phụ lục này.
1. Khóa học dành cho ai?
Người đã biết PHP cơ bản nhưng còn lúng túng khi ghép route, controller, model và giao diện sẽ có một lộ trình thực hành theo thứ tự. Người đã làm CRUD có thể dùng các chặng kiến trúc, bảo mật và kiểm thử để rà lại những phần thường bị bỏ qua. Với người chuẩn bị vận hành ứng dụng, nhóm bài cuối giúp đặt câu hỏi đúng về worker, scheduler, backup và rollback.
Nên chuẩn bị kiến thức về biến, hàm, class, HTTP, HTML form và SQL cơ bản. Không cần thuộc mọi API trước khi học; quan trọng là đọc được thông báo lỗi, biết kiểm tra thay đổi trong Git và sẵn sàng chạy thử trên môi trường riêng. Khóa học không hứa biến người mới thành chuyên gia chỉ bằng việc đọc hết 37 bài.
2. TaskFlow kết nối kiến thức như thế nào?
Một thao tác tạo task đi qua nhiều lớp: trình duyệt gửi form, route chọn controller, validation kiểm tra đầu vào, policy xác nhận quyền, action thực hiện nghiệp vụ và model ghi dữ liệu. Sau đó giao diện hoặc API trả kết quả; những tác vụ phụ có thể được chuyển sang queue. Test giúp kiểm tra cả trường hợp thành công lẫn bị từ chối.
Vì cùng một dự án xuất hiện xuyên suốt, người học có thể quay lại quyết định cũ khi gặp yêu cầu mới. Ví dụ, thêm file đính kèm buộc ta nghĩ tiếp về quyền tải file; thêm bearer token buộc ta phân biệt quyền của token với quyền của người dùng; thêm thông báo buộc ta xem xét thời điểm commit và worker.
Mục tiêu không phải nhớ nhiều lệnh Artisan nhất, mà là giải thích được một request đi qua đâu, ranh giới quyền nằm ở đâu và bằng chứng nào cho thấy chức năng hoạt động đúng.
3. Bản đồ 37 bài theo sáu chặng
Mỗi liên kết dưới đây mở đúng bài đã xuất bản. Ghi chú sau tiêu đề giúp bạn nhận ra câu hỏi chính của bài trước khi đọc sâu.
Nền tảng ứng dụng — Bài 01–07
Chặng đầu giúp bạn đi từ môi trường chạy được đến một request có giao diện và validation. Kết thúc chặng, hãy tự vẽ đường đi của form thay vì chỉ nhớ vị trí các thư mục.
- Học Laravel 13 – Bài 01: Lộ trình học Laravel 13 qua dự án TaskFlow — Hiểu đối tượng học, phạm vi TaskFlow và cách dùng toàn bộ series.
- Học Laravel 13 – Bài 02: Cài đặt Laravel 13 và môi trường phát triển TaskFlow — Chuẩn bị runtime và môi trường phát triển trước khi viết tính năng.
- Học Laravel 13 – Bài 03: Cấu trúc dự án và vòng đời request Laravel 13 qua TaskFlow — Lần theo request qua cấu trúc ứng dụng và các điểm xử lý chính.
- Học Laravel 13 – Bài 04: Cấu hình môi trường và logging trong Laravel 13 — Phân biệt cấu hình, biến môi trường và dữ liệu dùng để chẩn đoán.
- Học Laravel 13 – Bài 05: Routing, Controller và Middleware trong Laravel 13 — Kết nối URL, controller và middleware thành luồng xử lý rõ ràng.
- Học Laravel 13 – Bài 06: Blade, Component và Vite trong Laravel 13 — Tổ chức giao diện Blade, component và tài nguyên frontend.
- Học Laravel 13 – Bài 07: Form Request, Validation và CSRF trong Laravel 13 — Kiểm tra đầu vào form và hiểu vai trò bảo vệ CSRF.
Dữ liệu và truy vấn — Bài 08–14
Chặng này chuyển trọng tâm sang dữ liệu bền vững: thiết kế bảng, tạo dữ liệu thử, đọc quan hệ và xử lý cạnh tranh. Bài tập quan trọng là chứng minh dữ liệu đúng khi đầu vào hoặc thứ tự thao tác thay đổi.
- Học Laravel 13 – Bài 08: Migration, Schema và rollback an toàn trong Laravel 13 — Quản lý thay đổi schema và cân nhắc hậu quả của rollback.
- Học Laravel 13 – Bài 09: Seeder, Factory và dữ liệu mẫu trong Laravel 13 — Tạo dữ liệu mẫu có thể lặp lại cho phát triển và kiểm thử.
- Học Laravel 13 – Bài 10: Eloquent CRUD, Cast và Mass Assignment trong Laravel 13 — Đọc và ghi model với cast cùng ranh giới mass assignment.
- Học Laravel 13 – Bài 11: Thiết kế quan hệ dữ liệu với Eloquent trong Laravel 13 — Biểu diễn quan hệ giữa project, task và người dùng.
- Học Laravel 13 – Bài 12: Tránh N+1 với Eager Loading trong Laravel 13 — Nhận diện N+1 và kiểm tra cách tải dữ liệu liên quan.
- Học Laravel 13 – Bài 13: Filter, Search, Sort và Pagination trong Laravel 13 — Kết hợp lọc, tìm kiếm, sắp xếp và phân trang có giới hạn.
- Học Laravel 13 – Bài 14: Transaction, Locking và xử lý cạnh tranh trong Laravel 13 — Suy nghĩ về transaction và nhiều thao tác cạnh tranh cùng dữ liệu.
Tổ chức nghiệp vụ — Bài 15–19
Khi controller bắt đầu làm quá nhiều việc, cần hiểu dependency và ranh giới nghiệp vụ. Hãy chọn abstraction để giải quyết vấn đề cụ thể, không thêm layer chỉ vì thấy dự án khác có.
- Học Laravel 13 – Bài 15: Service Container và Dependency Injection trong Laravel 13 — Hiểu cách dependency được cung cấp và thay thế khi kiểm thử.
- Học Laravel 13 – Bài 16: Tổ chức nghiệp vụ Laravel 13 với Service, Action và DTO — Tách use case và dữ liệu đầu vào bằng action, service hoặc DTO khi cần.
- Học Laravel 13 – Bài 17: Event, Listener và Observer trong Laravel 13: xử lý sau commit — Phân biệt event, listener và observer, nhất là thời điểm side effect.
- Học Laravel 13 – Bài 18: Xử lý Exception và lỗi API trong Laravel 13 — Biến lỗi nghiệp vụ thành phản hồi có cấu trúc và dễ chẩn đoán.
- Học Laravel 13 – Bài 19: Cache, Rate Limit và Atomic Lock trong Laravel 13 — Hiểu cache, giới hạn tần suất và phạm vi bảo vệ của lock.
Danh tính và bảo mật — Bài 20–23
Đăng nhập được chưa đồng nghĩa được phép xem mọi dữ liệu. Dùng chặng này để lập ma trận quyền và chủ động thử những request mà hệ thống phải từ chối.
- Học Laravel 13 – Bài 20: Authentication và Starter Kit trong Laravel 13: đăng nhập TaskFlow — Nhận diện luồng đăng nhập và lựa chọn nền tảng authentication.
- Học Laravel 13 – Bài 21: Authorization Laravel 13 với Gate và Policy: bảo vệ project và task — Kiểm tra quyền thao tác với Gate và Policy.
- Học Laravel 13 – Bài 22: Session, Cookie và CSRF trong Laravel 13: kiểm thử đúng cơ chế — Đối chiếu session, cookie và cơ chế chống request giả mạo.
- Học Laravel 13 – Bài 23: Checklist bảo mật Laravel 13 trước khi lên production — Rà các giả định bảo mật trước khi đưa ứng dụng ra môi trường thật.
API và công việc nền — Bài 24–29
Ứng dụng mở rộng sang client JSON, token, queue, lịch chạy, file và realtime. Luôn phân biệt mã đã dispatch công việc với bằng chứng worker hoặc dịch vụ ngoài đã xử lý thành công.
- Học Laravel 13 – Bài 24: Xây REST API Laravel 13 với Resource và Validation — Thiết kế response API và giữ validation, authorization ở đúng ranh giới.
- Học Laravel 13 – Bài 25: Laravel Sanctum thực chiến: Xác thực SPA, mobile và API token an toàn — Phân biệt token ability, quyền người dùng và mô hình xác thực Sanctum.
- Học Laravel 13 – Bài 26: Laravel Queue trong production: Redis, Horizon, retry và xử lý job an toàn — Hiểu queue, retry và điều kiện vận hành worker.
- Học Laravel 13 – Bài 27: Scheduler và Artisan Command trong Laravel 13 — Đưa tác vụ định kỳ vào command và lịch chạy có kiểm soát.
- Học Laravel 13 – Bài 28: Mail, Notification và Upload file riêng tư trong Laravel 13 — Kết nối file riêng tư với thông báo và các điều kiện truy cập.
- Học Laravel 13 – Bài 29: Laravel Reverb thực chiến: Xây realtime WebSocket và vận hành production — Tìm hiểu realtime với Reverb và kiểm tra quyền private channel.
Chất lượng và vận hành — Bài 30–37
Nhóm cuối biến trải nghiệm “chạy được” thành quy trình kiểm chứng và chuẩn bị phát hành. Mẫu cấu hình là điểm xuất phát; môi trường thật vẫn cần kiểm tra riêng.
- Học Laravel 13 – Bài 30: Kiểm thử tự động Laravel với Pest: Từ test đầu tiên đến quy trình CI — Viết test dễ đọc với Pest thay vì kiểm tra thủ công mọi lần.
- Học Laravel 13 – Bài 31: Kiểm thử database, auth, policy và queue trong Laravel — Kiểm thử database, đăng nhập, policy và queue theo hành vi.
- Học Laravel 13 – Bài 32: Thiết lập CI cho TaskFlow bằng GitHub Actions — Chuẩn bị workflow CI có bước kiểm tra rõ ràng và quyền phù hợp.
- Học Laravel 13 – Bài 33: Tối ưu hiệu năng Laravel bằng phép đo và query budget — Đo và kiểm chứng trước khi quyết định tối ưu.
- Học Laravel 13 – Bài 34: Deploy Laravel với Nginx, queue worker và scheduler — Đọc cấu hình triển khai, worker và scheduler trong một quy trình release.
- Học Laravel 13 – Bài 35: Monitoring, health check và kiểm chứng backup Laravel — Phân biệt health check, giám sát và bằng chứng khôi phục backup.
- Học Laravel 13 – Bài 36: Nâng cấp Laravel và quản lý dependency có kiểm soát — Review dependency, lockfile và rủi ro trước khi nâng cấp.
- Học Laravel 13 – Bài 37: Tính năng mới Laravel 13 và tổng kết dự án TaskFlow — Đối chiếu khả năng Laravel 13 với dự án đã làm và hướng mở rộng.
4. Chọn đường học phù hợp
- Mới học Laravel: đi theo thứ tự 01–37; sau mỗi chặng, viết lại một chức năng nhỏ mà không nhìn mã mẫu.
- Đã làm CRUD: rà nhanh 01–14, tập trung 15–23 để kiểm tra cách tổ chức nghiệp vụ và phân quyền; sau đó học API, queue và test.
- Đang sửa ứng dụng có sẵn: chọn bài theo triệu chứng. Truy vấn tăng theo số dòng: bài 12 và 33. Truy cập sai project: bài 21, 25 và 31. Job không chạy: bài 26, 27 và 34. Chưa biết phục hồi dữ liệu: bài 35.
Đây là gợi ý thứ tự, không phải cam kết thời gian hoàn thành. Nếu test của chặng trước chưa giải thích được, nên dừng lại làm rõ trước khi thêm công nghệ mới.
5. Một vòng thực hành cho mỗi bài
- Viết một câu mô tả điều muốn chứng minh.
- Dự đoán file, bảng dữ liệu và quyền truy cập sẽ bị ảnh hưởng.
- Làm thay đổi nhỏ trên môi trường local; đọc diff trước khi chạy lệnh tiếp theo.
- Kiểm tra một trường hợp đúng và ít nhất một trường hợp bị từ chối hoặc thất bại.
- Ghi lại kết quả, điều chưa hiểu và giới hạn của phép thử.
Ví dụ với file đính kèm: không chỉ kiểm tra owner tải được PDF, mà còn thử user khác, đường dẫn thuộc task khác và file đã mất khỏi storage. Một giao diện hiển thị đẹp không thay thế được kiểm tra quyền.
6. Những gì dự án mẫu đã có — và chưa có
Checkpoint TaskFlow đi kèm khóa học có project thuộc owner, tạo/hoàn thành task, bộ lọc và phân trang, đăng nhập session, API bearer Sanctum, PDF riêng tư, notification, queue invalidation, scheduler và Reverb tùy chọn. Tại thời điểm chốt chuỗi, bộ kiểm thử local đạt 102 tests/465 assertions; có kiểm tra build frontend, Reverb và luồng HTTP với database tạm.
Workspace/Membership, comment, label và activity trail là hướng mở rộng, chưa phải chức năng được triển khai. Public signup, khôi phục mật khẩu, MFA và quét virus file cũng chưa có. Workflow CI và mẫu Nginx/systemd đã được chuẩn bị, nhưng chưa có hosted CI run hoặc triển khai TaskFlow lên Linux production. Vì vậy, không nên coi việc đọc xong chuỗi hay test local pass là chứng nhận sẵn sàng vận hành sản phẩm thật.
7. Checklist tự đánh giá cuối khóa
- Tôi giải thích được request tạo task từ form đến database và response.
- Tôi chứng minh được user không có quyền bị từ chối, kể cả khi biết ID của tài nguyên.
- Tôi phân biệt được dispatch job, thực thi job và side effect đã hoàn tất.
- Tôi có test hồi quy khi sửa lỗi và hiểu những gì fake/mocking chưa chứng minh.
- Tôi biết dữ liệu nào phải backup, cách thử restore cô lập và giới hạn của rollback.
- Tôi nêu được phần còn thiếu trước khi đem ứng dụng tới người dùng thật.
Hãy lưu phụ lục này như bản đồ tra cứu. Khi quay lại một chủ đề, đọc bài tương ứng, chạy phép thử liên quan và cập nhật ghi chú của mình. Giá trị của 37 bài không nằm ở số trang đã đọc, mà ở khả năng tự xây dựng, kiểm tra và giải thích ứng dụng của bạn.




Chưa có bình luận. Hãy là người đầu tiên chia sẻ ý kiến.