The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Laravel 13 permette di dichiarare alcune configurazioni dei modelli Eloquent con attributi PHP, direttamente sopra la classe. Per esempio, puoi indicare il nome di una tabella non convenzionale con #[Table('my_flights')] o disabilitare i timestamp con #[WithoutTimestamps]. Non è però un addio generale alle proprietà: $attributes resta il modo documentato per definire i valori predefiniti del modello, e per rinominare le colonne timestamp Laravel continua a mostrare le costanti CREATED_AT e UPDATED_AT.
Cosa cambia con gli attributi PHP in Laravel 13
Laravel 13 estende l’uso degli attributi PHP per rendere alcune configurazioni più dichiarative e vicine alla classe o al metodo a cui si riferiscono. Nel caso di Eloquent, questo consente di esprimere sulla dichiarazione del modello impostazioni come tabella, chiave primaria, incremento, timestamp e formato delle date. La documentazione ufficiale descrive questi attributi come opzioni disponibili, non come sostituti universali delle proprietà e delle costanti già usate nei modelli: documentazione Eloquent 13.x.
La novità riguarda PHP attributes, cioè metadati scritti con la sintassi #[...]. Non vanno confusi con gli “attributi” di Eloquent, il termine che si usa anche per i valori del modello associati alle colonne del database.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Gli attributi PHP non sono esclusivi di Eloquent: le note di rilascio di Laravel 13 citano anche controller, autorizzazioni, code, eventi, notifiche, validazione, testing e serializzazione delle risorse. Laravel 13 è stato rilasciato il 17 marzo 2026 e richiede PHP 8.3; le note indicano compatibilità con PHP 8.3–8.5. Le date di supporto dichiarate dal progetto sono correzioni di bug fino al terzo trimestre 2027 e correzioni di sicurezza fino al 17 marzo 2028. Consulta le note di rilascio di Laravel 13 per eventuali aggiornamenti successivi.
#1 Best Overall
Come impostare il nome di una tabella con #[Table]
Per convenzione, Eloquent ricava il nome della tabella dal nome della classe, usando la forma plurale in snake case. Quando il nome effettivo è diverso, puoi dichiararlo sulla classe con l’attributo Table:
<?php
use IlluminateDatabaseEloquentAttributesTable;
use IlluminateDatabaseEloquentModel;
#[Table('my_flights')]
class Flight extends Model
{
// ...
}
In questo esempio, il modello Flight è associato alla tabella my_flights. L’attributo si colloca sopra la dichiarazione della classe, invece di esprimere questa configurazione nel corpo del modello.
Come dichiarare una chiave primaria non convenzionale
Eloquent presume una chiave primaria chiamata id, intera e incrementale. Se il modello usa una chiave diversa, puoi passare le opzioni a Table:
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstall#[Table(key: 'uuid', keyType: 'string', incrementing: false)]
class Flight extends Model
{
// ...
}
Qui la chiave primaria è uuid, il suo tipo è string e non viene incrementata. Se devi soltanto disabilitare l’incremento, la documentazione mostra anche l’attributo dedicato #[WithoutIncrementing]. Table espone inoltre opzioni per la gestione dei timestamp e il formato delle date; usa gli attributi per le opzioni documentate, senza presumere che ogni configurazione precedente abbia un equivalente.
Rank #3
Quali attributi dedicati sono documentati per i modelli
Quando serve una singola impostazione, puoi usare gli attributi specifici previsti da Eloquent. Per esempio, per disabilitare i timestamp del modello:
#[WithoutTimestamps]
class Flight extends Model
{
// ...
}
Per indicare il formato delle date, la documentazione mostra #[DateFormat('U')]. In alternativa, Table può ricevere l’opzione dateFormat. La documentazione Eloquent 13.x descrive queste API e le relative opzioni: attributi Eloquent.
Rank #4
Quali proprietà e costanti restano utili
Valori predefiniti: $attributes
Per impostare valori predefiniti degli attributi del modello, Eloquent continua a documentare la proprietà $attributes. I valori vanno espressi nel formato grezzo memorizzabile nel database. Gli attributi PHP di configurazione non sostituiscono questa proprietà.
Nomi delle colonne timestamp: costanti
Se le colonne per la creazione e l’aggiornamento hanno nomi diversi da created_at e updated_at, gli esempi ufficiali continuano a usare le costanti CREATED_AT e UPDATED_AT. La disponibilità di attributi per altre impostazioni dei timestamp non significa che anche la rinomina di queste colonne si esprima necessariamente con un attributo.
Best Value
Configurazione che dipende dall’istanza
Gli attributi mostrati dichiarano metadati statici sulla classe. Non sono un’indicazione che ogni proprietà possa essere convertita senza cambiare il comportamento: se un valore dipende dall’istanza o richiede logica, non presumere che un attributo statico sia equivalente.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Attributo PHP o proprietà del modello: quale scegliere
La scelta dipende da quale configurazione vuoi esprimere e da come è supportata da Eloquent. Gli attributi PHP collocano i metadati sulla dichiarazione della classe; una proprietà o una costante rimane visibile nel corpo del modello. Per le opzioni disponibili come Table, DateFormat e WithoutTimestamps, puoi scegliere la forma documentata che rende più chiara la configurazione nel tuo progetto. Per i valori predefiniti usa $attributes; per rinominare le colonne timestamp usa le costanti indicate dalla documentazione.
Non ci sono benchmark comparativi nelle fonti ufficiali citate, quindi non è possibile attribuire agli attributi un vantaggio di prestazioni rispetto a proprietà o costanti. Il vantaggio documentato e concreto è di organizzazione: alcune impostazioni possono essere dichiarate accanto alla classe o al metodo interessato.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Devi convertire i modelli per aggiornare a Laravel 13?
La documentazione disponibile non presenta questa novità come una migrazione automatica né richiede di convertire tutte le proprietà dei modelli. Puoi adottare gli attributi dove esiste un’opzione documentata e lasciare intatti i meccanismi che continuano a servire, come $attributes e le costanti dei timestamp.
Considera anche il requisito di versione: Laravel 13 richiede PHP 8.3 o successivo, con compatibilità dichiarata per PHP 8.3–8.5. Prima di aggiornare un’applicazione, verifica che l’ambiente PHP soddisfi il requisito e valuta le modifiche ai modelli in base alla configurazione effettivamente usata.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

