Descripción general
Esta sección aborda la implementación interna de Laravel que no se explica en la documentación oficial, así como temas avanzados específicos para el desarrollo de paquetes. Leyendo el código fuente, se explican patrones de diseño prácticos y métodos de extensión.Desarrollo de paquetes
Desarrollo de paquetes Laravel
Cubre desde los fundamentos del desarrollo de paquetes centrado en los service providers hasta la publicación de configuración, vistas y migraciones.
Probar paquetes Laravel con Orchestra Testbench
Configura un entorno de pruebas para tu paquete con Orchestra Testbench y verifica service providers, facades y la base de datos.
Desarrollar paquetes con Testbench Workbench
Crea un entorno de verificación cercano al de una aplicación real y construye un flujo de desarrollo con rutas, migraciones y arranque de servicios.
Gestión de la compatibilidad de versiones de paquetes
Estrategias de mantenimiento de paquetes para adaptarse a nuevas versiones de Laravel y PHP, y configuración de la matriz de pruebas de GitHub Actions.
GeneratorCommand — implementación de comandos make: personalizados
Aprende a implementar comandos
make: propios de tu paquete extendiendo GeneratorCommand.Interior del framework
Estructura de aplicación en Laravel 11 y posteriores
Presenta el Slim Application Skeleton en su totalidad y la implementación interna desde Application::configure() hasta ApplicationBuilder.
Trait Macroable
Cómo funciona el trait Macroable para añadir métodos propios a clases existentes de Laravel y patrones de uso.
Trait Conditionable
Implementación interna de los métodos when()/unless() y patrones para diseñar APIs fluidas.
Illuminate\\Support\\Manager — anatomía del sistema de drivers
La clase central del sistema de drivers heredado desde Laravel 4.0. Desde cómo registrar drivers personalizados hasta MultipleInstanceManager.
Patrón Pipeline
Cómo funciona la clase Illuminate\Pipeline\Pipeline y el patrón para encadenar varios pasos de procesamiento.
Trait InteractsWithData
Diseño del trait para implementar una API de acceso a datos en tus propias clases durante el desarrollo de paquetes.
Helper tap() y trait Tappable
Uso del helper tap() de Laravel y del trait Tappable, junto con patrones de implementación.
Atributos de PHP
Cómo usar los atributos de PHP introducidos y reforzados en Laravel 13 para declarar configuración de jobs y modelos de forma declarativa.
Eloquent a fondo
Casts personalizados de Eloquent
Casts personalizados implementando la interfaz CastsAttributes. Presenta también el patrón Value Object, los casts entrantes y los Castables.
Observers de Eloquent y eventos del modelo
Cómo funcionan los eventos que disparan los modelos Eloquent y cómo centralizar su gestión mediante clases Observer.
Scopes de Eloquent
Cómo funcionan los scopes locales y globales. Desde la implementación interna de SoftDeletingScope hasta casos de uso prácticos.
Collection Deep Dive
Explica la implementación de Laravel Collection desde la perspectiva de su historia, estructura de clases, Generics de PHPDoc y cómo leer su código.
Mensajes de orden superior en colecciones
Cómo funcionan los mensajes de orden superior (Higher-order Messages) de las colecciones y cómo utilizarlos en la práctica.
MCP y IA
Crear un servidor MCP con Laravel
Construye un servidor MCP listo para producción con el paquete laravel/mcp. Desde la implementación de herramientas, recursos y prompts hasta la autenticación.
Crear un proveedor personalizado del AI SDK
Lee el código fuente de Laravel AI SDK e implementa un proveedor personalizado para servicios de IA no cubiertos de serie.
Crear un agente personalizado de Boost
Profundiza en la arquitectura de extensión de Laravel Boost y aprende a crear agentes personalizados.
Autenticación, validación y otros
Implementación de un guard de autenticación personalizado
Cómo crear guards de autenticación personalizados implementando las interfaces Guard y StatefulGuard, explicado a nivel de código fuente.
Reglas de validación personalizadas
Cómo extender la validación con objetos de regla o closures, profundizando también en la implementación interna.
Personalización de la limitación de velocidad
Profundiza en la facade RateLimiter e implementa rate limits personalizados por usuario, por plan y por dirección IP.
Pruebas avanzadas con Pest
Explicación sistemática del uso avanzado de Pest: Expectation API, datasets, fakes y Mockery.