Skip to main content

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.
最終更新日 2026年7月13日