Laravel - Console Artisan
Il framework Laravel fornisce tre strumenti principali per l'interazione tramite riga di comando, ovvero: Artisan, Ticker e REPL. Questo capitolo spiega in dettaglio Artisan.
Introduzione ad Artisan
Artisan è l'interfaccia della riga di comando utilizzata di frequente in Laravel e include una serie di comandi utili per lo sviluppo di un'applicazione web.
Esempio
Ecco un elenco di pochi comandi in Artisan insieme alle rispettive funzionalità:
To start Laravel project
php artisan serve
To enable caching mechanism
php artisan route:cache
To view the list of available commands supported by Artisan
php artisan list
To view help about any command and view the available options and arguments
php artisan help serve
Lo screenshot seguente mostra l'output dei comandi sopra riportati:
Comandi di scrittura
Oltre ai comandi elencati in Artisan, un utente può anche creare un comando personalizzato che può essere utilizzato nell'applicazione web. Tieni presente che i comandi sono memorizzati inapp/console/commands directory.
Il comando predefinito per la creazione del comando definito dall'utente è mostrato di seguito:
php artisan make:console <name-of-command>
Una volta digitato il comando sopra indicato, puoi vedere l'output come mostrato nello screenshot riportato di seguito -
Il file creato per DefaultCommand è chiamato come DefaultCommand.php ed è mostrato di seguito -
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class DefaultCommand extends Command{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'command:name';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct() {
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle() {
//
}
}
Questo file include la firma e la descrizione per il comando definito dall'utente. La funzione pubblica denominatahandleesegue le funzionalità quando il comando viene eseguito. Questi comandi sono registrati nel fileKernel.php nella stessa directory.
È inoltre possibile creare la pianificazione delle attività per il comando definito dall'utente come mostrato nel codice seguente:
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel {
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
// Commands\Inspire::class,
Commands\DefaultCommand::class
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule) {
// $schedule->command('inspire')
// ->hourly();
}
}
Si noti che la pianificazione delle attività per il comando dato è definita nella funzione denominata schedule, che include un parametro per la pianificazione delle attività che richiede hourly parametro.
I comandi vengono registrati nella matrice di comandi, che include il percorso e il nome dei comandi.
Una volta che il comando è stato registrato, viene elencato nei comandi Artisan. I valori inclusi nella sezione firma e descrizione verranno visualizzati quando si richiama l'attributo della guida del comando specificato.
Vediamo come visualizzare gli attributi del nostro comando DefaultCommand. Dovresti usare il comando come mostrato di seguito -
php artisan help DefaultCommand