Saltar al contenido

Sobre este libro

Este libro te enseña a implementar una arquitectura de Data Transfer Objects en Laravel, transformando arrays sin estructura que viajan entre capas en objetos tipados con autocompletado completo. Aprenderás a aprovechar readonly classes de PHP 8.1+ para crear DTOs inmutables que documentan implícitamente la estructura de tus datos, eliminando errores de tipo en producción y facilitando el refactoring seguro.

🎯 ¿Qué aprenderás?

  • Readonly classes: DTOs inmutables con constructor promotion y valores por defecto explícitos

  • Request → DTO: Conversión automática desde FormRequest con traits reutilizables

  • DTO ↔ Model: Transformación bidireccional entre DTOs y modelos Eloquent

  • DTOs anidados: Estructuras complejas con objetos tipados dentro de otros DTOs

  • Organización por dominios: Carpetas predecibles con DTOs compartidos vs específicos

  • Migración gradual: Estrategias para introducir DTOs en proyectos existentes sin riesgo

👨‍💻 Para quién es este libro

  • Desarrolladores Laravel cansados de arrays sin estructura viajando entre capas

  • Tech Leads que necesitan código autodocumentado sin comentarios desactualizados

  • Equipos que quieren aprovechar PHPStan/Psalm al máximo nivel

  • Programadores frustrados con errores de tipo que solo aparecen en producción

🚀 Beneficios inmediatos

  • Autocompletado completo: El IDE conoce todas las propiedades disponibles

  • Errores en desarrollo: PHPStan detecta tipos incorrectos antes de ejecutar

  • Documentación implícita: La firma del método documenta la estructura de datos

  • Refactoring seguro: Renombrar propiedades con el IDE encuentra todos los usos

  • Onboarding rápido: Nuevos desarrolladores entienden estructuras sin leer documentación

📖 Enfoque práctico

Caso real completo: Flujo de creación de pedido con arrays transformado a DTOs tipados con CreateOrderData, OrderItemData y AddressData.

Comparaciones antes/después que demuestran impacto medible: de 0% a 100% autocompletado en servicios, detección de errores en desarrollo vs producción, PHPStan nivel 8 sin @var comments.

Transforma tus datos Laravel de arrays caóticos a objetos tipados que el IDE entiende.