Panoramica
Questa sezione tratta l’implementazione interna di Laravel che non si trova nella documentazione ufficiale e argomenti avanzati dedicati allo sviluppo di pacchetti. Analizzando il codice sorgente, spiega design pattern pratici e come estendere il framework.Sviluppo di pacchetti
Sviluppo di pacchetti Laravel
Dallo sviluppo di pacchetti incentrato sui service provider alla pubblicazione di configurazioni, viste e migrazioni.
Testare pacchetti Laravel con Orchestra Testbench
Costruisci un ambiente di test per i tuoi pacchetti con Orchestra Testbench e verifica service provider, facade e database.
Sviluppare pacchetti con Testbench Workbench
Crea un ambiente di verifica simile a un’applicazione reale, con rotte, migrazioni e avvio dei servizi.
Gestire la compatibilità tra versioni dei pacchetti
Strategie di manutenzione dei pacchetti per gli aggiornamenti di Laravel e PHP e configurazione della test matrix di GitHub Actions.
GeneratorCommand — implementare comandi `make:` personalizzati
Come implementare comandi
make: specifici del pacchetto estendendo GeneratorCommand.Interno del framework
Struttura dell'applicazione da Laravel 11
Panoramica completa dello Slim Application Skeleton e implementazione interna da Application::configure() ad ApplicationBuilder.
Trait Macroable
Meccanismo e pattern di utilizzo del trait Macroable per aggiungere metodi personalizzati alle classi esistenti di Laravel.
Trait Conditionable
Implementazione interna dei metodi when()/unless() e pattern di utilizzo per progettare API fluent.
Illuminate\\Support\\Manager — anatomia del sistema di driver
La classe centrale del sistema di driver in uso da Laravel 4.0. Dalla registrazione di driver personalizzati a MultipleInstanceManager.
Pattern Pipeline
Il meccanismo della classe Illuminate\Pipeline\Pipeline e il pattern per comporre più step di elaborazione a catena.
Trait InteractsWithData
Progettazione del trait per implementare API di accesso ai dati in classi proprie durante lo sviluppo di pacchetti.
Helper tap() e trait Tappable
Utilizzo e pattern di implementazione dell’helper tap() di Laravel e del trait Tappable.
Attributi PHP
Come utilizzare gli attributi PHP introdotti e potenziati in Laravel 13 per configurare in modo dichiarativo job e modelli.
Approfondimenti Eloquent
Cast personalizzati di Eloquent
Cast personalizzati che implementano l’interfaccia CastsAttributes. Presenta anche il pattern Value Object, i cast inbound e Castables.
Eloquent Observers ed eventi del modello
Il meccanismo degli eventi emessi dai modelli Eloquent e la gestione centralizzata tramite classi Observer.
Scope di Eloquent
Meccanismo di scope locali e globali. Dall’implementazione interna di SoftDeletingScope ai casi d’uso pratici.
Collection Deep Dive
Illustra l’implementazione delle Laravel Collection dal punto di vista di storia, struttura delle classi, generics in PHPDoc e come leggerne il codice.
Higher-order messages delle collection
Meccanismo e utilizzo pratico degli higher-order messages delle collection.
MCP e AI
Creare un server MCP con Laravel
Costruisci un server MCP pronto per la produzione con il pacchetto laravel/mcp. Dall’implementazione di tool, risorse e prompt all’autenticazione.
Creare un provider personalizzato per l'AI SDK
Analizza il codice sorgente del Laravel AI SDK e implementa un provider personalizzato per servizi AI non supportati di default.
Creare un agente personalizzato per Boost
Approfondisci l’architettura di estensione di Laravel Boost e crea un agente personalizzato.
Autenticazione, validazione e altro
Implementare un guard di autenticazione personalizzato
Come creare un guard di autenticazione personalizzato implementando le interfacce Guard e StatefulGuard, spiegato a livello di codice sorgente.
Regole di validazione personalizzate
Come estendere la validazione con oggetti Rule e closure, con un’analisi anche dell’implementazione interna.
Personalizzare il rate limiting
Approfondisci il facade RateLimiter e implementa un rate limiting personalizzato per utente, per piano o per indirizzo IP.
Test avanzati con Pest
Dall’Expectation API ai dataset, dai fake a Mockery, una guida sistematica all’uso avanzato di Pest.