COMO CREAR COMANDOS PERSONALIZADOS EN LARAVEL
Después de de comentar que son los interfaz Artizsn de Laravel" os voy a hablar de como crear comandos en Laravel y para eso se puede usar el comando "make:command" y después personalizar su lógica. Se eplica paso a paso:- Generar un comando personalizado: Usar el comando
Donde "NombreDelComando" es el nombre de tu comando (por ejemplo, EnviarCorreo) que creará un archivo en la carpeta "app/Console/Commands" con el nombre "NombreDelComando.php".php artisan make:command NombreDelComando - Personalizar el comando: Abrir el archivo generado ("app/Console/Commands/NombreDelComando.php"). Con la estructura:
Donde "$signature" define el nombre del comando y sus argumentos. Por ejemplo: "comando:nombre {parametro}" para un argumento obligatorio o "comando:nombre {--opcion}" para una opción opcional, "$description" es una breve descripción del comando que aparece al ejecutar "php artisan list".En "handle()" estará el código que se ejecutará cuando se invoque el comando.namespace App\Console\Commands; use Illuminate\Console\Command; class NombreDelComando extends Command { protected $signature = 'comando:nombre'; //ejemplo protected $signature = 'saludar:usuario {nombre}'; protected $description = 'Descripción de lo que hace el comando'; public function __construct() { parent::__construct(); } public function handle() { // Lógica del comando aquí } } - Definir la lógica del comando En el método "handle()" irá el código. Por ejemplo, un comando que imprime un mensaje:
Opciones para mostrar texto:public function handle() { $this->info('¡Hola! Este es mi comando personalizado.'); }- $this->info('mensaje'): Muestra un mensaje en verde (éxito).
- $this->error('mensaje'): Muestra un mensaje en rojo (error).
- $this->line('mensaje'): Muestra un mensaje simple.
- $this->ask('Pregunta'): Solicita entrada del usuario.
- Registrar el comando: Por lo general, Laravel registra automáticamente los comandos ubicados en "app/Console/Commands". Si no se registra, es necesario verificar que el archivo "app/Console/Kernel.php" incluye el comando en la propiedad $commands (esto no suele ser necesario con comandos generados por "make:command").