Nâng CaoPHP iconPHP

Value Objects trong PHP là gì và khi nào nên dùng thay vì kiểu nguyên thủy?

Value Objects là các object bất biến đại diện cho khái niệm nghiệp vụ (Money, Email, Address) thay vì dùng kiểu nguyên thủy dễ sai.

Ví dụ: thay $price = 99.99 (float dễ lỗi làm tròn), dùng new Money(9999, 'VND') với validation trong constructor.

Lợi ích: type safety, ngôn ngữ domain rõ ràng, đóng gói logic validation, ngăn trạng thái không hợp lệ. new Email('user@example.com') sẽ throw exception nếu format sai ngay khi tạo object. Laravel Casts có thể tự hydrate Value Object từ DB. Áp dụng sớm để bắt bug tại compile-time thay vì runtime.

Xem toàn bộ PHP cùng filter theo level & chủ đề con.

Mở danh sách PHP