laravel artisan

Artisan Commands: super guida Laravel

Eccoci di nuovo con le nostre super guide laravel! Oggi parliamo di Artisan, andiamo a vedere nel dettaglio Artisan Commands.

Iniziamo col dire che tranne i comandi base già presenti tramite artisan, Laravel ci dà la possibilità di estendere la nostra applicazione per mezzo della creazione di comandi custom, dunque per svolgere compiti da noi definiti. Questi comandi saranno poi accessibili sempre grazie ad artisan 🙂

 

Artisan Commands

Esempio: creeremo un comando artisan per generare dati tramite le nostre model factories.
Dopo aver creato un modello User e uno Post, insieme alle migrations, creiamo due factories nel

seguente modo

Creiamo adesso il nostro comando


Dentro il file creato, facciamo attenzione a due proprietà

$signature e $description  (sono i due dati che verranno stampati nel listato di comandi artisan).

Il primo definisce il modo in cui il comando verrà invocato, il secondo è una breve descrizione

[…]

class PopulateDB extends Command {

Modifichiamoli nel seguente modo


Per poter essere riconosciuti da artisan, i nostri comandi custom devono essere registrati in app/Console/Kernel.php, nell’array $commands


Proviamo a listare i comandi artisan


e vedremo quello appena creato da noi

Piano d’azione: vogliamo ricevere il numero di utenti fake da creare, se creare posts o meno per questi utenti e se sì, quanti.

In questo modo il nostro comando comando dovrebbe essere invocato nel seguente modo

Dobbiamo dunque modificare la signature del nostro comando

{users} – in questo modo vengono definiti gli argomenti di un comando. Per definire un argomento opzionale gli si appende un ‘?’ alla fine {users?}

Questi argomenti sono accessibili tramite $this->argument(‘users’)

{–posts=0} – in questo modo vengono definiti le opzioni di un comando. Questo input è opzionale e spesso gli viene associato un valore di default

Alla fine possiamo implementare la nostra funzione di seeding

Se la guida ti è piaciuta e se pensi che possa essere opportuno per te procedere nello studio approfondito di Laravel, condividi sul tuo profilo Facebook questa guida e richiedi maggiori informazioni a amministrazione@laramind.com

 

Leave a reply