Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk4 min

Laravel 13: come configurare i modelli Eloquent con gli attributi PHP

Laravel 13 porta gli attributi PHP in più configurazioni Eloquent. Ecco come dichiarare tabelle, chiavi, timestamp e formati data senza confonderli con una sostituzione generale delle proprietà.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Laravel 13 permette di dichiarare alcune configurazioni di Eloquent direttamente sopra la classe del modello, con attributi PHP come #[Table] e #[WithoutTimestamps]. Questo rende quelle impostazioni più vicine alla dichiarazione della classe, ma non elimina le proprietà dai modelli: per esempio, i valori predefiniti continuano a essere definiti con $attributes.

Cosa cambia in Laravel 13

Laravel 13 amplia il supporto agli attributi PHP e consente di esprimere in modo dichiarativo alcune configurazioni Eloquent sulla classe del modello. La documentazione del framework descrive opzioni per tabelle, chiavi, timestamp e formati data. Non si tratta però di una sostituzione generale delle proprietà o delle costanti già usate nei modelli.

As an Amazon Associate I earn from qualifying purchases.

Laravel 13 è stato rilasciato il 17 marzo 2026 e richiede PHP 8.3 o successivo; le note ufficiali indicano compatibilità con PHP 8.3–8.5. Il progetto dichiara correzioni di bug fino al terzo trimestre 2027 e aggiornamenti di sicurezza fino al 17 marzo 2028. Consulta le note di rilascio di Laravel 13 per gli aggiornamenti più recenti.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

In PHP, un attributo è metadato scritto con la sintassi #[...] e associato a una dichiarazione, per esempio una classe. È distinto dagli “attributi” Eloquent, termine che indica anche i dati del modello, come i valori delle colonne. Il manuale PHP descrive gli attributi del linguaggio.

Come usare #[Table] per configurare una tabella

Eloquent ricava normalmente il nome della tabella dal nome della classe, usando il plurale in snake case. Se il nome effettivo è diverso, Laravel 13 documenta l’attributo Table:

use IlluminateDatabaseEloquentAttributesTable;
use IlluminateDatabaseEloquentModel;

#[Table('my_flights')]
class Flight extends Model
{
    // ...
}

L’attributo colloca la configurazione sulla dichiarazione della classe, invece di esprimerla con una proprietà nel corpo del modello. È una scelta di organizzazione del codice, non un’indicazione che ogni proprietà abbia ora un equivalente tramite attributo.

Come dichiarare una chiave primaria non convenzionale

Per una chiave primaria chiamata uuid, di tipo stringa e non incrementale, la documentazione mostra le opzioni di Table nella stessa dichiarazione:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#[Table(key: 'uuid', keyType: 'string', incrementing: false)]
class Flight extends Model
{
    // ...
}

Senza una configurazione diversa, Eloquent presume una chiave id intera e incrementale. Se l’unica variazione necessaria è disabilitare l’incremento, è documentato anche l’attributo dedicato:

use IlluminateDatabaseEloquentAttributesWithoutIncrementing;

#[WithoutIncrementing]
class Flight extends Model
{
    // ...
}

Quali attributi usare per timestamp e date

Disabilitare i timestamp automatici

Per un modello che non deve gestire automaticamente i timestamp, Laravel documenta #[WithoutTimestamps]:

use IlluminateDatabaseEloquentAttributesWithoutTimestamps;

#[WithoutTimestamps]
class Flight extends Model
{
    // ...
}

Impostare il formato delle date

Per dichiarare il formato delle date, la documentazione mostra #[DateFormat('U')]. In alternativa, Table può ricevere l’opzione dateFormat. La scelta tra le forme documentate dipende da come si vuole raggruppare la configurazione del modello; non implica un cambiamento automatico dei dati esistenti.

Rinominare le colonne dei timestamp

Per cambiare i nomi delle colonne usate per creazione e aggiornamento, gli esempi Eloquent continuano a usare le costanti CREATED_AT e UPDATED_AT. Gli attributi PHP di Laravel 13 non sostituiscono quindi ogni forma di configurazione precedente.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quali proprietà restano nei modelli Eloquent

La proprietà $attributes resta il meccanismo documentato per definire valori predefiniti degli attributi dati del modello. I valori vanno espressi nel formato grezzo memorizzabile nel database, per esempio:

protected $attributes = [
    'status' => 'pending',
];

La documentazione Eloquent continua a presentare questa proprietà per i valori predefiniti, mentre gli attributi PHP descritti sopra configurano aspetti statici della classe. La documentazione Eloquent di Laravel 13 illustra i due meccanismi nei rispettivi contesti.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Quando scegliere un attributo o mantenere la configurazione esistente

Esigenza Meccanismo documentato Da tenere presente
Usare un nome di tabella non convenzionale #[Table('my_flights')] La tabella convenzionale deriva dal nome della classe.
Configurare chiave, tipo e incremento Opzioni key, keyType e incrementing di #[Table] Per disabilitare soltanto l’incremento è disponibile anche #[WithoutIncrementing].
Disattivare i timestamp automatici #[WithoutTimestamps] È una configurazione dichiarata sulla classe.
Definire il formato delle date #[DateFormat('U')] oppure l’opzione dateFormat di #[Table] Usare la forma adatta a come si vuole esporre la configurazione.
Rinominare le colonne dei timestamp Costanti CREATED_AT e UPDATED_AT La documentazione continua a mostrare le costanti.
Impostare valori predefiniti dei dati del modello Proprietà $attributes I valori devono essere nel formato grezzo memorizzabile nel database.

Gli attributi sono adatti a impostazioni statiche esposte esplicitamente dal framework. Non presumere che siano intercambiabili con valori o logica dipendenti dall’istanza: la documentazione citata non stabilisce un’equivalenza di questo tipo. Inoltre, le note di rilascio e la documentazione Eloquent non forniscono benchmark comparativi sulle prestazioni.

Serve convertire i modelli per aggiornare a Laravel 13?

Le fonti ufficiali citate non prescrivono una conversione generalizzata delle proprietà in attributi né descrivono un aggiornamento automatico. Per adottare Laravel 13, il requisito da considerare è PHP 8.3 o successivo; la revisione dei modelli può invece limitarsi alle configurazioni per cui un attributo documentato migliora la leggibilità del progetto. Le proprietà e le costanti ancora mostrate dalla documentazione restano appropriate nei rispettivi casi.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Il supporto agli attributi in Laravel 13 si estende anche oltre Eloquent: le note di rilascio citano controller, autorizzazioni, code, eventi, notifiche, validazione, test e serializzazione delle risorse. L’idea è avvicinare alcune configurazioni e comportamenti alle classi o ai metodi interessati, non rimuovere tutti i meccanismi di configurazione già presenti.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.