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