Tụi em kéo Laravel để gọi Validator::make, không thì code không chạy được đâu anh!
Audit codebase mà thấy project PHP đơn giản, chỉ cần validate form, nhưng lại kéo cả Laravel – như mua cả siêu thị chỉ để lấy một hộp sữa. Dependency phình to, build chậm, còn mở rộng “bề mặt tấn công” cho hacker.
Thực trạng: Framework “khủng” cho việc nhỏ
Thực trạng:
- Project chỉ cần validate input, nhưng import cả Laravel (hàng trăm MB dependency).
- Dev chọn framework “all-in-one” vì quen, không tìm package nhẹ hơn.
- Docker image nặng, CI build lâu, runtime ngốn tài nguyên.
Hệ quả:
- Build chậm: composer install mất 5 phút vì dependency tree khổng lồ.
- Rủi ro bảo mật: Framework lớn đi kèm nhiều lỗ hổng tiềm tàng.
- Khó maintain: Cập nhật framework tốn công, dễ phá vỡ codebase.
Giải pháp: Dùng package nhỏ gọn
Để “nhẹ nhàng” hơn:
- Xác định nhu cầu: Chỉ cần validate? Dùng package như Respect\Validation hoặc rakit/validation.
- Ưu tiên single-responsibility: Chọn thư viện làm đúng một việc, tránh “combo” không cần thiết.
- Audit dependency: Dùng composer show --tree để kiểm tra package thừa.
Ví dụ: Validate với Respect\Validation thay Laravel:
use Respect\Validation\Validator as v;if (!v::email()->validate($email)) { throw new Exception('Invalid email');}🎯 Tóm lại: Kéo cả framework chỉ để dùng một hàm là “mua voi lấy ngà”. Chọn package nhẹ, audit dependency để codebase gọn, build nhanh, và hacker hết cửa.

Đăng nhận xét