Skip to main content

Cos’è Artisan

Artisan è lo strumento a riga di comando (CLI) incluso in Laravel. Esiste come script artisan nella root del progetto e offre molti comandi che rendono efficienti sviluppo e gestione operativa. Per vedere l’elenco dei comandi disponibili usa list.
Per vedere come si usa un comando anteponi help.
Se usi Laravel Sail, sostituisci php artisan con sail artisan. I comandi verranno eseguiti nel container Docker.

Tinker

Laravel Tinker è un ambiente REPL che permette di interagire in modo interattivo con l’intera applicazione — modelli Eloquent, job, eventi — da riga di comando.
Dopo l’avvio puoi eseguire direttamente codice PHP.
Tinker modifica realmente i dati. Fai molta attenzione a eseguirlo in produzione. È adatto a verifica e debug in ambiente locale o di staging.

Creazione di comandi personalizzati

Generare un comando

Con make:command generi lo scheletro di una classe comando.
Viene generato app/Console/Commands/ImportProducts.php.

Struttura base del comando

La classe comando generata ha tre elementi principali: $signature, $description e handle().
In Laravel 13 puoi usare anche la sintassi con gli attribute PHP.

Definizione di argomenti e opzioni

In $signature definisci in un’unica stringa nome, argomenti e opzioni del comando.

Lettura di argomenti e opzioni

All’interno di handle() usa argument() e option() per leggere i valori.

input() — accessor tipizzati

Con il metodo input() puoi leggere argomenti e opzioni con gli stessi accessor tipizzati delle richieste HTTP.
Se vuoi leggere per nome, passalo direttamente (viene cercato sia negli argomenti sia nelle opzioni).
Mentre argument() e option() restituiscono stringhe, gli accessor tipizzati di input() convertono nel tipo appropriato. Comodi per gestire in modo type-safe date, numeri ed enum.

Interazione con l’utente

Emissione di messaggi

Sono disponibili metodi per emettere messaggi colorati in console.

Richiesta all’utente

Puoi accettare input interattivamente dall’utente.

Barra di avanzamento

Mostra chiaramente il progresso durante l’elaborazione di grandi volumi di dati.
Per un controllo più granulare usa il seguente pattern.

Casi d’uso pratici

Comando di importazione dati

Esempio pratico di comando che importa i dati dei prodotti da un CSV.
1

Genera il comando

2

Implementa il comando

3

Esegui il comando

Comando di manutenzione periodica

Esempio di comando di manutenzione periodica che elimina i dati vecchi.

Combinazione con l’esecuzione pianificata

Puoi pianificare i comandi creati in routes/console.php. Per i dettagli consulta Task scheduling.

Test dei comandi

Con le funzionalità di test di Laravel puoi verificare il comportamento dei comandi Artisan.
Esempi di metodi di asserzione utilizzabili con artisan():

Comandi frequenti

Ultima modifica il 13 luglio 2026