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.

Laravel 12 nuove funzionalità e starter kit 2026

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 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.

config/services.phpphp
'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 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.

Pronto a superare i tuoi colloqui su Laravel?

Pratica con i nostri simulatori interattivi, flashcards e test tecnici.

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, middleware o sistemi di code, 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 come impostazione predefinita.

Spiegare il Service Container e la Dependency Injection in Laravel.

Il service container è 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 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 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 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

Inizia a praticare!

Metti alla prova le tue conoscenze con i nostri simulatori di colloquio e test tecnici.

Tag

#laravel
#php
#starter-kits
#interview

Condividi

Articoli correlati