#1. Tips để “Sạch” Codebase
- Đừng dùng
DB::trong Controller: Hãy chuyển nó vào Repository hoặc trực tiếp vào Service/Action. Controller nên “mỏng” nhất có thể. - Sử dụng DTO (Data Transfer Object): Đừng bao giờ truyền một mảng (
array) từ Controller sang Service. Hãy truyền một DTO để đảm bảo dữ liệu có kiểu rõ ràng (type-safe). - Tận dụng Collection: Thay vì lặp
foreachthủ công, hãy dùngmap,filter,reducecủa Collection. Code sẽ trở nên mang tính khai báo (declarative) hơn là mệnh lệnh (imperative).
#2. Những điều “KHÔNG NÊN”
- Không dùng
env()trực tiếp trong code: Chỉ dùng trongconfig/*.php. Tại sao? Vì khi bạn chạy lệnhconfig:cache, Laravel sẽ cache toàn bộ cấu hình, vàenv()sẽ trả vềnull. - Không nhồi nhét logic vào Model: Model chỉ nên quản lý dữ liệu và quan hệ. Logic nghiệp vụ (ví dụ: gửi mail khi update) nên để vào
ObserverhoặcEvent/Listener.
#3. Tư duy “Scale” ngay từ đầu
- Luôn dùng Queue: Đừng bắt người dùng đợi để gửi email hoặc gọi API bên thứ 3.
- Đánh Index sớm: Ngay khi phát hiện các cột thường xuyên dùng trong
WHEREhoặcJOIN, hãy migrate index ngay lập tức. Đừng đợi tới khi hệ thống chậm mới làm.