{
  "id": 11241295,
  "title": "PHP Attributes in Laravel 13: addio alle property sparse nei modelli",
  "url": "https://urgent.news/2026/10/01/php-attributes-in-laravel-13-addio-alle-property-sparse-nei-modelli",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-01T17:10:06.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/dev_iadicola/php-attributes-in-laravel-13-addio-alle-property-sparse-nei-modelli-17ff"
  },
  "original_language": "it",
  "account": "A partire da Laravel 13, il framework sfrutta le nuove funzionalità native di PHP, come gli attributi, per migliorare la leggibilità e la navigazione dei modelli Eloquent. In precedenza, le configurazioni del modello si trovavano sparsi in tutta la classe, rendendo il codice meno chiaro e difficile da comprendere, specialmente nei progetti di grandi dimensioni. Con Laravel 13, le configurazioni possono essere dichiarate in modo più conciso all'inizio della classe utilizzando la sintassi nativa di PHP.\n\nGli attributi sono supportati non solo per i modelli Eloquent, ma in oltre 15 punti del framework, tra cui controller, job, comandi Artisan, listener, mailable, notifiche e più ancora. I dettagli di configurazione sono ora definiti come attributi della classe, rendendo il codice più chiaro e facilmente navigabile.\n\nL'utilizzo di attributi offre diversi vantaggi, come un miglioramento della leggibilità, una riduzione degli errori di configurazione, una maggiore coerenza tra i componenti del framework e un impatto trascurabile sulle prestazioni. La migrazione ai nuovi attributi può essere fatta in modo incrementale, partendo dai modelli nuovi e convertendo gradualmente i vecchi. Le principali IDE come PhpStorm e VS Code supportano già gli attributi Laravel 13, offrendo autocompletamento, navigazione e rilevamento degli errori in tempo reale.",
  "summary": "Il problema delle property sparse nei modelli Eloquent Fino a Laravel 12, configurare un modello Eloquent significava definire proprietà come $table , $fillable , $hidden , $casts e $primaryKey sparse nel corpo della classe. Con modelli complessi — quelli con decine di campi, relazioni multiple e accessor personalizzati — queste dichiarazioni si mescolano a relazioni e metodi, rendendo il codice…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}