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