Should you use DTOs in Laravel? episode artwork

EPISODE · Sep 27, 2025 · 10 MIN

Should you use DTOs in Laravel?

from No Compromises · host Joel Clermont and Aaron Saray

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?

Episode metadata supplied by the publisher feed · Published Sep 27, 2025

Embed this episode

NOW PLAYING

Should you use DTOs in Laravel?

0:00 10:10

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

No similar episodes found.

No similar podcasts found.

Frequently Asked Questions

How long is this episode of No Compromises?

This episode is 10 minutes long.

When was this No Compromises episode published?

This episode was published on September 27, 2025.

Is there a transcript available for this episode?

Yes, a full transcript is available for this episode. You can read the complete transcript on the episode page.

Can I download this No Compromises episode?

Yes. Use the download control on the episode player to save the publisher-provided media file.
URL copied to clipboard!