# Laravel 12 nel 2026: Nuove Funzionalità, Starter Kit e Domande per Colloqui > Laravel 12 introduce Starter Kit completamente riprogettati con React 19, Vue 3, Livewire 4 e WorkOS AuthKit. Una guida completa alle nuove funzionalità, al percorso di aggiornamento e alle domande chiave per i colloqui tecnici del 2026. - Published: 2026-05-23 - Updated: 2026-05-23 - Author: SharpSkill - Tags: laravel, php, starter-kits, interview - Reading time: 10 min --- Le novità di Laravel 12 ruotano attorno a una riprogettazione completa degli starter kit del framework e a un numero volutamente minimo di breaking change. Rilasciato il 24 febbraio 2025, questa versione sostituisce sia Breeze che Jetstream con scaffolding moderno e specifico per ogni framework, basato su React 19, Vue 3, Svelte 5 e Livewire 4. La filosofia di rilascio privilegia la stabilità: la maggior parte delle applicazioni Laravel 11 si aggiorna senza alcuna modifica al codice. > **Zero Breaking Change** > > Laravel 12 è un release di manutenzione. L'aggiornamento da Laravel 11 non richiede modifiche al codice dell'applicazione nella maggior parte dei progetti. Il team si è concentrato sul rilascio di miglioramenti alla qualità della vita durante il ciclo 11.x, anziché accumulare breaking change. ## I nuovi Starter Kit sostituiscono Breeze e Jetstream La novità più visibile di Laravel 12 è la sostituzione di [Breeze](https://laravel.com/docs/12.x/starter-kits) e Jetstream con quattro starter kit dedicati. A differenza dei pacchetti precedenti che si installavano in progetti esistenti, questi kit creano un progetto completamente nuovo con tutto il codice visibile e modificabile fin dal primo giorno. Ogni kit include autenticazione, registrazione, reset della password, verifica email e gestione del profilo utente pronti all'uso. | Starter Kit | Stack | Libreria UI | |------------|-------|------------| | React | Inertia 2, React 19, TypeScript | shadcn/ui | | Vue | Inertia 2, Vue 3, TypeScript | shadcn-vue | | Svelte | Inertia 2, Svelte 5, TypeScript | shadcn-svelte | | Livewire | Livewire 4, Laravel Volt | Flux UI | Tutti e quattro i kit includono Tailwind CSS 4, supporto per le modalità dark/light/system e diverse varianti di layout per le pagine di autenticazione (simple, card e split). ```bash # Installare un nuovo progetto Laravel con il React starter kit laravel new my-app # Oppure specificare uno starter kit della community laravel new my-app --using=vendor/custom-starter-kit ``` Laravel 12 introduce inoltre la possibilità per chiunque di creare e pubblicare starter kit personalizzati, registrabili tramite il flag `--using`. Questo apre le porte a kit solo Blade, configurazioni API-only e scaffolding specifico per dominio. ## Integrazione WorkOS AuthKit per l'autenticazione enterprise Ogni starter kit offre una variante WorkOS AuthKit che aggiunge funzionalità di autenticazione enterprise-grade senza implementazioni personalizzate: - **Social authentication** (Google, GitHub, Microsoft e altri) - **Passkey** per il login senza password tramite dati biometrici - **Single Sign-On (SSO)** con provider SAML e OIDC Il piano gratuito di WorkOS supporta fino a un milione di utenti attivi mensili, rendendolo praticabile per progetti di qualsiasi scala. La configurazione richiede l'impostazione delle chiavi API WorkOS nel file `.env` e la selezione della variante WorkOS durante l'installazione del kit. ```php // config/services.php 'workos' => [ 'client_id' => env('WORKOS_CLIENT_ID'), 'api_key' => env('WORKOS_API_KEY'), 'redirect_url' => env('WORKOS_REDIRECT_URL'), ], ``` Questa integrazione elimina la necessità di pacchetti come Socialite per i flussi base di social login, sebbene [Socialite](https://laravel.com/docs/12.x/socialite) resti disponibile per implementazioni OAuth personalizzate. ## Aggiornamento delle dipendenze e requisiti PHP Laravel 12 richiede PHP dalla versione 8.2 alla 8.5 e impone Carbon 3 per tutte le operazioni su date e orari. Il supporto per Carbon 2 è stato completamente rimosso, portando una tipizzazione più rigorosa e migliori garanzie di immutabilità. Altri aggiornamenti delle dipendenze upstream includono i componenti di Symfony 7, che allineano Laravel con le ultime release stabili dell'ecosistema PHP. ```php // Carbon 3 impone una tipizzazione più rigorosa use Carbon\Carbon; $now = Carbon::now(); // Restituisce CarbonImmutable di default in modalità strict $future = $now->addDays(30); // $now rimane invariato — l'immutabilità è garantita ``` > **Timeline di supporto** > > Laravel 12 riceve correzioni di bug fino ad agosto 2026 e patch di sicurezza fino a febbraio 2027. Laravel 13, rilasciato il 17 marzo 2026, è ora l'ultima versione major — ma l'aggiornamento da 12 a 13 non comporta alcun breaking change. ## Miglioramenti notevoli nelle patch release Mentre il rilascio iniziale 12.0 si concentrava sugli starter kit, le patch successive fino alla 12.12.2 (l'ultima release 12.x) hanno introdotto aggiunte utili: ### Helper per Array e Collection ```php use Illuminate\Support\Arr; // Filtrare per valori anziché per chiavi (aggiunto in 12.46.0) $filtered = Arr::onlyValues(['admin', 'editor', 'viewer'], ['admin', 'editor']); // Risultato: ['admin', 'editor'] $excluded = Arr::exceptValues(['admin', 'editor', 'viewer'], ['viewer']); // Risultato: ['admin', 'editor'] // Verificare se una collection ha più elementi $users = collect([/* ... */]); if ($users->containsManyItems()) { // Gestire operazione bulk } ``` ### Miglioramenti a Gate e autorizzazione ```php use Illuminate\Support\Facades\Gate; // Supporto UnitEnum in Gate::has() (aggiunto in 12.45.2) enum Permission { case ViewDashboard; case ManageUsers; } if (Gate::has(Permission::ViewDashboard)) { // L'abilità è definita — più type-safe rispetto ai controlli basati su stringhe } ``` ### Correzioni a Schema e Container I metodi `Schema::getTables()`, `Schema::getViews()` e `Schema::getTypes()` ora restituiscono risultati da tutti gli schema per impostazione predefinita. Il container di dependency injection rispetta i valori predefiniti delle proprietà di classe durante la risoluzione delle istanze, e `mergeIfMissing()` supporta la notazione puntata annidata per una gestione più pulita delle request. ## Guida all'aggiornamento: da Laravel 11 a Laravel 12 Il percorso di aggiornamento da Laravel 11 a 12 è intenzionalmente semplice. La maggior parte delle applicazioni richiede solo un aggiornamento delle versioni delle dipendenze. **Passo 1** — Aggiornare `composer.json`: ```json { "require": { "php": "^8.2", "laravel/framework": "^12.0", "nesbot/carbon": "^3.0" } } ``` **Passo 2** — Eseguire l'aggiornamento di Composer: ```bash composer update ``` **Passo 3** — Verificare i casi limite. Le cinque aree che più probabilmente richiedono intervento: 1. **`Concurrency::run`** con array associativi ora restituisce risultati con chiavi 2. **Disco locale** utilizza come default `storage/app/private` anziché `storage/app` 3. **Le chiamate a Carbon 2** devono essere aggiornate all'API di Carbon 3 4. **I metodi Schema** ora restituiscono risultati cross-schema 5. **Gli argomenti con nome** nelle chiamate ai metodi Laravel potrebbero generare errori se i nomi dei parametri sono cambiati Per le applicazioni che utilizzano [Eloquent](/blog/laravel/eloquent-orm-patterns-optimizations), [middleware](/blog/laravel/laravel-middleware-deep-dive) o [sistemi di code](/blog/laravel/laravel-queues-jobs-architecture), l'aggiornamento si completa generalmente in pochi minuti. ## Domande essenziali per colloqui su Laravel 12 nel 2026 I colloqui tecnici per posizioni Laravel nel 2026 coprono sia i fondamenti del framework che la conoscenza dei cambiamenti recenti. Le domande seguenti riflettono ciò che i team di selezione chiedono attivamente, organizzate per livello di seniority. ### Domande livello Junior **Cosa è cambiato negli starter kit di Laravel 12 rispetto a Breeze?** Breeze e Jetstream richiedevano l'installazione in un progetto esistente e aggiungevano le proprie dipendenze di pacchetto. Gli starter kit di Laravel 12 generano un progetto completamente nuovo con tutto il codice di autenticazione direttamente nell'applicazione — nessuna logica nascosta nei pacchetti. Gli starter kit utilizzano stack frontend moderni (React 19, Vue 3, Svelte 5 o Livewire 4) con TypeScript e componenti [shadcn/ui](https://ui.shadcn.com/) come impostazione predefinita. **Spiegare il Service Container e la Dependency Injection in Laravel.** Il [service container](/technologies/laravel/interview-questions/service-container-di) è lo strumento di Laravel per la gestione delle dipendenze delle classi. Quando una classe dichiara parametri del costruttore con type-hint, il container risolve e inietta automaticamente le istanze appropriate. In Laravel 12, il container ora rispetta i valori predefiniti delle proprietà durante la risoluzione — un cambiamento comportamentale sottile ma importante. ```php // Il container risolve le dipendenze automaticamente class OrderService { public function __construct( private PaymentGateway $gateway, // Risolto automaticamente private int $retryLimit = 3 // Valore predefinito rispettato in Laravel 12 ) {} } ``` ### Domande livello Mid **Come funziona il middleware in Laravel e cosa è cambiato nelle versioni recenti?** Il [middleware](/technologies/laravel/interview-questions/middleware) filtra le richieste HTTP prima che raggiungano il controller. Laravel 12 ha corretto un bug di ricorsione infinita in cui un gruppo middleware che faceva riferimento a se stesso causava uno stack overflow. Il middleware può gestire autenticazione, CORS, rate limiting e logging delle richieste. Il middleware personalizzato si crea con `php artisan make:middleware`. **Descrivere l'architettura del sistema di code.** Le [code](/technologies/laravel/interview-questions/queues-jobs) di Laravel differiscono le operazioni dispendiose in termini di tempo (invio email, generazione report, elaborazione immagini) a worker in background. I job vengono inviati a driver come Redis, Amazon SQS o il database. Laravel 12 ha effettuato il backport del supporto per le code cloud dalla versione 13.x, ampliando le opzioni di deployment per gli ambienti serverless. ```php // Inviare un job alla coda use App\Jobs\ProcessInvoice; ProcessInvoice::dispatch($order) ->onQueue('invoices') ->delay(now()->addMinutes(5)); ``` ### Domande livello Senior **Confrontare il Repository Pattern con l'utilizzo diretto di Eloquent nelle applicazioni Laravel.** L'utilizzo diretto di Eloquent nei controller crea un accoppiamento stretto tra il livello HTTP e il database. Il Repository Pattern introduce un livello di astrazione: un'interfaccia repository definisce i metodi di accesso ai dati e una classe concreta li implementa con Eloquent. Questa separazione migliora la testabilità (i repository possono essere mockati), supporta il cambio di sorgente dati e applica confini di responsabilità singola. Il compromesso sta nella complessità aggiuntiva. Le applicazioni piccole raramente traggono vantaggio dai repository. Le applicazioni grandi con molteplici sorgenti dati, query complesse o requisiti di testing rigorosi guadagnano una chiarezza architetturale significativa. **Come preparare un'applicazione Laravel 12 per l'aggiornamento a Laravel 13?** Laravel 13 è stato rilasciato senza breaking change rispetto a 12, rendendo l'aggiornamento diretto. I passaggi chiave di preparazione: assicurare la compatibilità con PHP 8.3+ (la versione 13 rimuove PHP 8.2), verificare eventuali pattern deprecati di Carbon 2 e testare i service provider personalizzati rispetto al nuovo sistema di configurazione basato su attributi. I team interessati all'[AI SDK di Laravel](https://laravel.com/docs/13.x/ai-sdk) dovrebbero valutare anticipatamente le proprie esigenze di ricerca vettoriale e RAG, poiché il supporto nativo a pgvector funziona solo con PostgreSQL. > **Preparazione al colloquio** > > Nel 2026 gli intervistatori chiedono sempre più spesso informazioni sul percorso di aggiornamento tra le versioni di Laravel. Dimostrare conoscenza della catena di migrazione da 11 a 12 a 13 — e della filosofia zero breaking change — segnala esperienza pratica rispetto alla sola conoscenza teorica. ## Laravel 12 vs Laravel 13: conviene aggiornare subito? | Funzionalità | Laravel 12 | Laravel 13 | |---------|-----------|------------| | Requisito PHP | 8.2 - 8.5 | 8.3 - 8.5 | | Starter Kit | React/Vue/Svelte/Livewire | Stessi + Team Multi-Tenancy | | AI SDK | Beta (`laravel/ai`) | Stabile, pronto per la produzione | | Ricerca vettoriale | Non disponibile | Supporto nativo pgvector | | Passkey | Solo tramite WorkOS | Nativi in Fortify | | Breaking change da 11 | Minimi | Zero da 12 | | Correzioni bug fino a | Agosto 2026 | Q3 2027 | Per i team che non utilizzano funzionalità di intelligenza artificiale o passkey, Laravel 12 resta pienamente supportato fino ad agosto 2026. L'aggiornamento alla versione 13 può avvenire quando la compatibilità con PHP 8.3 è confermata per tutte le dipendenze. ## Conclusione - Laravel 12 sostituisce Breeze e Jetstream con quattro starter kit moderni basati su React 19, Vue 3, Svelte 5 e Livewire 4 — tutto il codice risiede direttamente nell'applicazione - L'integrazione di WorkOS AuthKit aggiunge social login, passkey e SSO senza implementazioni personalizzate — gratuito fino a un milione di utenti mensili - L'aggiornamento da Laravel 11 non richiede modifiche al codice nella maggior parte delle applicazioni — Carbon 3, Symfony 7 e PHP 8.2+ sono i principali cambiamenti nelle dipendenze - Le patch release fino alla 12.12.2 hanno aggiunto `Arr::onlyValues()`, `Arr::exceptValues()`, `containsManyItems()` e supporto UnitEnum in Gate - La preparazione ai colloqui per il 2026 dovrebbe coprire le differenze tra gli starter kit, i cambiamenti al service container e il percorso di aggiornamento da Laravel 12 a 13 - Laravel 13 (marzo 2026) offre AI SDK nativo, ricerca vettoriale e passkey — ma Laravel 12 riceve patch di sicurezza fino a febbraio 2027 --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/blog/laravel/laravel-12-features-starter-kits-interview-questions