Artisan: La CLI di Laravel
Artisan è un'interfaccia a riga di comando inclusa in Laravel che fornisce una serie di comandi per aiutare l'utente nel flusso di sviluppo.
È possibile utilizzare Artisan eseguendo il comando "php artisan" dal terminale. Verrà visualizzato un elenco di tutti i comandi disponibili. È quindi possibile eseguire un comando specifico digitando "php artisan [comando]".
I comandi più utilizzati di Artisan sono quelli che generano i componenti del framework con un costrutto di base già impostato. Ad esempio, per creare un nuovo Controller “UserController” basterà eseguire il seguente comando:
Loading...Una volta eseguito il comando, troveremo la classe UserController all’interno della cartella App/Http/Controllers. Questa classe sarà vuota, ma se avessimo voluto aggiungere i metodi per una CRUD, sarebbe bastato aggiungere l’attributo –resource al comando precedente:
Loading...È anche possibile creare con un singolo comando la maggior parte dei files che compongono un componente. Ad esempio se dovessimo gestire la CRUD di un’ipotetica entità “City”, potremmo lanciare questo comando:
Loading...In questo modo, Laravel creerà per noi il modello, il controller con i metodi per la CRUD e il file per migrare la struttura della tabella.
Estendere Artisan
Artisan non serve solamente a creare dei files. Ad esempio lo utilizzeremo per riempire il database con dati di test, gestire cron-job e tanto altro. Possiamo anche creare comandi personalizzati che andranno ad estendere la classe Illuminate/Console/Command.
I comandi personalizzati possono essere eseguiti come qualsiasi altro comando di Artisan. È possibile eseguirli dal terminale o includerli nel codice dell’applicazione Laravel, utilizzando l’apposita Facade Artisan.
Vediamo un comando di esempio che ci stamperà sul terminale un saluto concatenando il parametro immesso dall’utente ad una stringa predefinita.
Utilizziamo Artisan per creare un nuovo comando personalizzato
Loading...Il nostro nuovo comando sarà creato all’interno della cartella app/Console/Commands e ovviamente il file si chiamerà Hello.php
Apriamo con il nostro Code Editor e vediamo come si presenta questa classe
Loading...La prima implementazione da eseguire è modificare la proprietà signature, impostando il nome del comando e gli eventuali parametri.
Loading...Se avessi voluto rendere il parametro opzionale, mi sarebbe bastato aggiungere un punto interrogativo, in questo modo
Loading...Adesso implementiamo il metodo handle(), recuperando l’input immesso dall’utente e restituiamo l’output sulla console
Loading...Ora non ci resta che lanciare dalla CLI il comando e osservare il risultato
Loading...