Laravel - Consola artesanal

El marco de Laravel proporciona tres herramientas principales para la interacción a través de la línea de comandos, a saber: Artisan, Ticker y REPL. Este capítulo explica sobre Artisan en detalle.

Introducción a Artisan

Artisan es la interfaz de línea de comandos que se usa con frecuencia en Laravel e incluye un conjunto de comandos útiles para desarrollar una aplicación web.

Ejemplo

Aquí hay una lista de algunos comandos en Artisan junto con sus respectivas funcionalidades:

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

La siguiente captura de pantalla muestra el resultado de los comandos dados anteriormente:

Comandos de escritura

Además de los comandos enumerados en Artisan, un usuario también puede crear un comando personalizado que se puede utilizar en la aplicación web. Tenga en cuenta que los comandos se almacenan enapp/console/commands directory.

El comando predeterminado para crear un comando definido por el usuario se muestra a continuación:

php artisan make:console <name-of-command>

Una vez que escriba el comando anterior, puede ver el resultado como se muestra en la captura de pantalla que se muestra a continuación:

El archivo creado para DefaultCommand se nombra como DefaultCommand.php y se muestra a continuación:

<?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() {
      //
   }
}

Este archivo incluye la firma y la descripción del comando que definió el usuario. La función pública llamadahandleejecuta las funcionalidades cuando se ejecuta el comando. Estos comandos están registrados en el archivoKernel.php en el mismo directorio.

También puede crear el programa de tareas para el comando definido por el usuario como se muestra en el siguiente código:

<?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();
   }
}

Tenga en cuenta que el programa de tareas para el comando dado se define en la función denominada schedule, que incluye un parámetro para programar las tareas que lleva hourly parámetro.

Los comandos se registran en la matriz de comandos, que incluye la ruta y el nombre de los comandos.

Una vez que se registra el comando, aparece en los comandos Artisan. Los valores incluidos en la sección de firma y descripción se mostrarán cuando solicite el atributo de ayuda del comando especificado.

Veamos cómo ver los atributos de nuestro comando. DefaultCommand. Debe usar el comando como se muestra a continuación:

php artisan help DefaultCommand