No Compromises

Should you use DTOs in Laravel?


Listen Later

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?
    ...more
    View all episodesView all episodes
    Download on the App Store

    No CompromisesBy Joel Clermont and Aaron Saray

    • 4.9
    • 4.9
    • 4.9
    • 4.9
    • 4.9

    4.9

    8 ratings


    More shows like No Compromises

    View all
    The Laravel Podcast by Taylor Otwell, Matt Stauffer

    The Laravel Podcast

    57 Listeners

    Startups For the Rest of Us by Rob Walling

    Startups For the Rest of Us

    696 Listeners

    Connected by Relay FM

    Connected

    568 Listeners

    Laravel News Podcast by Jacob Bennett and Michael Dyrynda

    Laravel News Podcast

    56 Listeners

    The Laracasts Snippet by Jeffrey Way

    The Laracasts Snippet

    76 Listeners

    North Meets South Web Podcast by Jacob Bennett and Michael Dyrynda

    North Meets South Web Podcast

    24 Listeners

    Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

    Syntax - Tasty Web Development Treats

    987 Listeners

    No Plans to Merge by Daniel Coulbourne & Caleb Porzio

    No Plans to Merge

    50 Listeners

    Notes On Work - by Caleb Porzio by Caleb Porzio

    Notes On Work - by Caleb Porzio

    17 Listeners

    The Rest Is History by Goalhanger

    The Rest Is History

    14,382 Listeners

    Mostly Technical by Ian Landsman and Aaron Francis

    Mostly Technical

    27 Listeners

    Talking Businessly by Daniel Coulbourne & John Drexler

    Talking Businessly

    2 Listeners

    The Business of Laravel by Matt Stauffer

    The Business of Laravel

    7 Listeners

    Slightly Caffeinated by Chris Gmyr, TJ Miller

    Slightly Caffeinated

    0 Listeners

    The Panel by Justin Jackson & Brian Casel

    The Panel

    4 Listeners