Go offline with the Player FM app!
Should you use DTOs in Laravel?
Manage episode 508657236 series 2974897
DTOs (Data Transfer Objects) aren't mentioned anywhere in the Laravel docs, but some devs use them heavily in their applications, whereas other devs never use them at all.
In the latest episode of the No Compromises podcast, we weigh the pros and cons of DTOs in everyday Laravel apps, comparing them to form requests, PHPDoc-typed arrays, and service-layer boundaries, and share one area where DTOs truly shine.
The takeaway: keep DTOs in the toolbox, but reach for them intentionally, not by habit.
- (00:00) - Framing DTOs in a stricter PHP world
- (01:15) - Our current practice: hybrids, few true DTOs
- (02:45) - Form requests, `safe()`, and typed inputs
- (03:45) - Reuse across API and form layers rarely aligns
- (04:30) - Where DTOs shine: normalizing multiple APIs
- (05:45) - Service boundaries: wrapping vendor objects (e.g., Stripe)
- (06:15) - PHPDoc-typed arrays vs DTO overhead
- (06:45) - Conventions, Larastan levels, and avoiding ceremony
- (07:45) - Treat DTOs as a tool, not a rule
- (09:15) - Silly bit
Want to discuss how we can help you with an architecture review?
137 episodes
Manage episode 508657236 series 2974897
DTOs (Data Transfer Objects) aren't mentioned anywhere in the Laravel docs, but some devs use them heavily in their applications, whereas other devs never use them at all.
In the latest episode of the No Compromises podcast, we weigh the pros and cons of DTOs in everyday Laravel apps, comparing them to form requests, PHPDoc-typed arrays, and service-layer boundaries, and share one area where DTOs truly shine.
The takeaway: keep DTOs in the toolbox, but reach for them intentionally, not by habit.
- (00:00) - Framing DTOs in a stricter PHP world
- (01:15) - Our current practice: hybrids, few true DTOs
- (02:45) - Form requests, `safe()`, and typed inputs
- (03:45) - Reuse across API and form layers rarely aligns
- (04:30) - Where DTOs shine: normalizing multiple APIs
- (05:45) - Service boundaries: wrapping vendor objects (e.g., Stripe)
- (06:15) - PHPDoc-typed arrays vs DTO overhead
- (06:45) - Conventions, Larastan levels, and avoiding ceremony
- (07:45) - Treat DTOs as a tool, not a rule
- (09:15) - Silly bit
Want to discuss how we can help you with an architecture review?
137 episodes
All episodes
×Welcome to Player FM!
Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.