Puntos clave:
- PHP Artisan es una herramienta de línea de comandos que simplifica las tareas comunes de desarrollo de Laravel, desde la generación de código hasta la gestión de migraciones.
- Se pueden crear comandos personalizados de Artisan para automatizar tareas repetitivas específicas del proyecto, mejorando la eficiencia de los desarrolladores.
- Artisan ofrece una serie de comandos integrados para acciones como ejecutar un servidor de desarrollo, gestionar cachés e interactuar con el sistema de colas.
¿Alguna vez has querido automatizar las tareas repetitivas de tu aplicación Laravel?
Pues bien, PHP Artisan, una práctica herramienta de línea de comandos que viene con Laravel, puede ayudarte a hacer precisamente eso. Te permite automatizar tareas, gestionar recursos e interactuar con el framework Laravel sin problemas.
Para crear un nuevo comando Artisan, utiliza el comando make:command. Esto creará una nueva clase de comando en el directorio app/Consola/Comandos. Se utiliza para configurar las migraciones, los listados de rutas, las colas, la creación de clases y otras tareas.
Desde los fundamentos de los comandos Artisan hasta la creación y ejecución de tus propios comandos personalizados, este artículo cubre todo lo que necesitas saber sobre PHP Artisan en Laravel 11.
Visión general de PHP Artisan
Los desarrolladores utilizan los comandos de Laravel Artisan para completar tareas importantes como la creación de migraciones y la publicación de activos de paquetes.
Hay comandos Laravel incorporados y la opción de crear comandos personalizados. Laravel Artisan dispone de muchos comandos prediseñados.
Para ver una lista de estos comandos, escribe php artisan list en tu terminal. Esto te proporcionará una lista de todos los comandos disponibles de Laravel Artisan.

Estos comandos ayudan a los desarrolladores a trabajar de forma más eficiente, ahorrándoles así un tiempo precioso. Usando estos comandos de Laravel Artisan, puedes crear funciones auth, controller, model, mail, migration y muchas otras.
¡Prueba los comandos personalizados en Laravel 11 en Cloudways hoy mismo!
Crea y gestiona comandos personalizados sin esfuerzo en Cloudways, con recursos ilimitados y la flexibilidad de PHP 8.
Conceptos básicos de los comandos de Laravel Artisan
Los comandos de Laravel Artisan son importantes para el framework Laravel. Proporcionan a los desarrolladores una interfaz de línea de comandos (CLI) para facilitar y agilizar su trabajo.
La clase Illuminate\Console\Application es la base de Artisan. Extiende la clase Symfony\Component\Console\Application. Este diseño facilita a los desarrolladores Symfony el uso de Artisan porque tiene un entorno familiar.
Por ejemplo, un comando sencillo puede aparecer así:
namespace App\Console\Commands;
use Illuminate\Console\Command;
class ExampleCommand extends Command
{
protected $signature = 'example:run {name}';
protected $description = 'Runs an example command';
public function handle()
{
$name = $this->argument('name');
$this->info("Hello, {$name}!");
}
}
Ejecuta Laravel con PHP Artisan Server
El comando Laravel PHP Artisan Serve facilita la ejecución de aplicaciones en el servidor de desarrollo PHP. Como desarrollador, puedes utilizar Laravel Artisan para crear y probar diferentes funciones de la aplicación.
Cuando ejecutas el comando php artisan serve, puedes iniciar rápidamente un servidor en http://localhost:8000. Esto te permite probar y desarrollar tus aplicaciones localmente. También puedes personalizar el servidor para que utilice diferentes hosts y puertos.
El comando php artisan serve funciona con el ecosistema Laravel. Esto incluye funciones como migraciones de bases de datos, programación de tareas y gestión de colas.
Crear y ejecutar comandos personalizados
Artisan de Laravel proporciona una lista de comandos. También puedes crear tus propios comandos Artisan personalizados. Puedes elegir dónde almacenarlos siempre que Composer pueda cargarlos. Para crear, registrar y ejecutar tus comandos personalizados, sigue estos 8 sencillos pasos:
Paso 1: Crear un nuevo comando
La CLI Artisan de Laravel proporciona una forma cómoda de generar clases de comandos personalizadas. Para crear un nuevo comando, simplemente utiliza el comando make:command Artisan.
Esto crea automáticamente una nueva clase de comando dentro del directorio app/Consola/Comandos. Si este directorio no existe, se generará por ti.
Escribe el siguiente comando en la Consola Artisan:
php artisan make:command customcommand
El archivo podría tener el siguiente aspecto:
namespace App\Console\Commands;
use Illuminate\Console\Command;
class CustomCommand extends Command
{
protected $signature = 'custom:command';
protected $description = 'Description of the custom command';
public function __construct()
{
parent::__construct();
}
public function handle()
{
// Command logic goes here
}
}
Paso 2: Definir el mando
Al crear comandos de consola, a menudo necesitas obtener información del usuario. Laravel se encarga de ello a través de la propiedad firma .
Puedes utilizar esta breve sintaxis para establecer argumentos y banderas obligatorios y opcionales. Esto facilita el diseño de cómo funciona tu comando con el usuario.
protected $signature = 'user:update {id} {--name=} {--email=}';
En este ejemplo, el comando espera un argumento ID y las opciones opcionales nombre y correo electrónico.
Paso 3: Comando E/S
Cuando ejecutas un comando, Laravel te proporciona formas sencillas de obtener los valores de los argumentos y las opciones. En el método handle de tu comando, utiliza los métodos $this- >argumento() y $this->opción().
Si el argumento o la opción que buscas no existe, estos métodos devolverán null.
Pedir información
Puedes obtener información del usuario mientras se ejecuta tu comando, además de mostrar la salida. El método preguntar mostrará al usuario una pregunta, recogerá su respuesta y la enviará de vuelta a tu comando.
$name = $this->ask('What is your name?', 'Taylor');
Para pedir confirmación
if ($this->confirm('Do you wish to continue?')) {
// Continue
}
Puedes hacer que la consulta de confirmación devuelva siempre verdadero. Para ello, pasa verdadero como segundo argumento al método confirmar.
Paso 4: Registrar comandos
Laravel, por defecto, registra todos los comandos ubicados en el directorio app/Console/Commands. Puedes configurar Laravel para que busque comandos de PHP Artisan en más directorios. Para ello, utiliza el método withCommands en el archivo bootstrap/app.php de tu aplicación.
->withCommands([ __DIR__.'/../app/Domain/Orders/Commands', ])
Cuando utilices Artisan, el contenedor de servicios encontrará y registrará todos los comandos de tu aplicación con Artisan.
Paso 5: Ejecutar las demandas
A veces, puede que quieras ejecutar un comando de Artisan fuera de la CLI, como por ejemplo desde una ruta o controlador. Puedes conseguirlo utilizando el método de llamada de la Fachada Artisan.
Este método tiene dos argumentos. El primer argumento es el nombre o clase del comando. El segundo argumento es una lista de parámetros del comando. El método devuelve el código de salida.
También puedes pasar el comando Artisan completo al método de llamada como una cadena:
Artisan::call('mail:send 1 --queue=default');
Para poner en cola los comandos de Artisan
Puedes utilizar el método de cola en la fachada Artisan para enviar comandos Artisan a tus trabajadores de cola. Estos comandos se procesarán en segundo plano. Antes de utilizar este método, asegúrate de que tu cola está configurada y de que se está ejecutando un oyente de cola.
use Illuminate\Support\Facades\Artisan;
Route::post('/user/{user}/mail', function (string $user) {
Artisan::queue('mail:send', [
'user' => $user, '--queue' => 'default'
]);
// ...
});
Paso 6: Tratamiento de las señales
Los comandos de Laravel Artisan pueden manejar señales del sistema como SIGINT. Puedes incorporar el manejo de señales en tu comando utilizando el método trap.
$this->trap(SIGINT, function () {
$this->info('Command interrupted');
});
Paso 7: Personalización del talón
Puedes personalizar los archivos de plantilla que utiliza el comando make:command Artisan para facilitar la creación de comandos con estructuras coherentes.
Para ello, tienes que publicar los archivos stub en tu proyecto.
php artisan stub:publish
Paso 8: Eventos
Hay tres eventos que Artisan envía al ejecutar comandos:
- Iluminar\Consola\Eventos\ArtesanoIniciar
- Ilumina\Consola\Eventos\ComandoInicio
- Ilumina\Consola\Eventos\ComandoFinalizado
Utiliza el método evento para disparar un evento:
event(new CustomCommandExecuted($this));
Crear migraciones con make:migration
php artisan make:migration es un comando de Laravel Artisan que se utiliza para crear un nuevo archivo de migración. Las migraciones son esencialmente planos de tu esquema de base de datos. Definen la estructura de tus tablas, columnas, índices y relaciones.
Éste es el aspecto del proceso:
- Crear una migración: Cuando ejecutas el comando make:migration, se crea un nuevo archivo PHP en la carpeta database/migrations.
- Definir cambios: El archivo de migración contiene métodos de subida y bajada. El método ascendente define cambios en la base de datos, como crear tablas o añadir columnas. El método descendente deshace esos cambios.
- Ejecuta la migración: Para aplicar los cambios a tu base de datos, utiliza el comando php artisan migrate.
Ejemplo
Bash php artisan make:migration create_users_table
Este comando creará un nuevo archivo llamado crear_tabla_de_usuarios en la carpeta base de datos/migraciones. A continuación, podrás definir la estructura de la tabla de usuarios dentro del archivo de migración.
Ventajas de make:migration
- Control de versiones: Sigue los cambios de la base de datos a lo largo del tiempo.
- Colaboración: Comparte fácilmente la estructura de la base de datos con los miembros del equipo.
- Sembrado de bases de datos: Rellena tu base de datos con datos de prueba utilizando sembradores.
- Reversiones de bases de datos: Revierte fácilmente los cambios en la base de datos si es necesario.
Las migraciones te ayudan a mantener el esquema de tu base de datos claro y organizado. Esto facilita la gestión y actualización de tu aplicación.
Lista de comandos de Laravel Artisan
Artisan CLI de Laravel es una herramienta útil para trabajar con tu app. Tiene diferentes comandos para diferentes tareas, como hacer código y gestionar el entorno de la app.
Una lista completa de comandos PHP Artisan de Laravel sería muy extensa. Puedes utilizar el comando PHP Artisan list para obtenerla, pero aquí tienes un desglose de las principales categorías de comandos en Laravel 11:
Comandos principales
- Caché: Gestiona la caché de la aplicación (borrar, olvidar, etc.)
- config: Almacena, borra o publica archivos de configuración
- bajar: Desactiva temporalmente la aplicación
- env: Gestionar variables de entorno
- clave: Generar una nueva clave de aplicación
- migrar: Ejecutar migraciones de bases de datos
- optimizar: Optimiza la aplicación para la producción
- Cola: Gestionar el sistema de colas
- ruta: Listar o borrar rutas
- almacenamiento: Gestionar el directorio de almacenamiento
- vendedor: Gestionar las dependencias de Composer
Comandos de generación de código
- hacer: Genera diversas estructuras de código (controlador, modelo, migración, etc.)
- modelo: Crea modelos Eloquent
- migración: Crea archivos de migración
- sembrar: Siembra la base de datos con datos ficticios
Comandos de prueba
- probar: Ejecuta las pruebas de la aplicación
- crepúsculo: Ejecuta pruebas de navegador con Dusk
Otros comandos
- auth: Gestiona las operaciones relacionadas con la autenticación
- Brisa: Instala el sistema de autenticación Breeze
- config: Gestiona los archivos de configuración
- horizonte: Gestiona el sistema de colas Laravel Horizon
- pasaporte: Gestiona el servidor OAuth2
- sanctum: Gestiona la autenticación del token de la API
- Telescopio: Gestiona la herramienta de depuración Telescopio
Resumen
En este artículo hemos mostrado cómo crear comandos personalizados utilizando el comando Artisan. Artisan es una herramienta PHP que te permite desarrollar diferentes comandos en función de las necesidades de tu proyecto.
Si tienes alguna pregunta sobre este artículo o sobre el mando Artesano, no dudes en dejar un comentario a continuación. Estaremos encantados de ayudarte.
Preguntas frecuentes
Q. ¿Para qué sirven los comandos PHP Artisan de Laravel?
A. Los comandos Artisan son una herramienta de línea de comandos en Laravel. Te ayudan a automatizar tareas, gestionar migraciones y generar andamiaje de código. También puedes utilizarlos para ejecutar pruebas y realizar otras tareas de desarrollo y gestión en tus aplicaciones Laravel.
Q. ¿Por qué utilizar PHP Artisan Serve?
A. El comando serve de PHP Artisan lanza rápidamente un servidor de desarrollo local para tu aplicación Laravel. Es ideal para la creación rápida de prototipos y pruebas durante el desarrollo.
Q. ¿Cómo ejecutar comandos PHP Artisan en cpanel?
- Abre el Terminal desde cPanel.
- Navega hasta el directorio de tu proyecto Laravel utilizando cd /ruta/a/tu/proyecto.
- Ejecuta el comando con PHP: /usr/local/bin/php artisan {command}.
Asegúrate de sustituir /usr/local/bin/php por la ruta PHP correcta para tu servidor, que puedes encontrar en el Gestor MultiPHP en cPanel.
Q. ¿Puedo anular o ampliar comandos Artisan existentes en Laravel?
A. Por supuesto. En Laravel, tienes la posibilidad de modificar o ampliar los comandos Artisan existentes. Para ello, crea un comando personalizado que herede de la clase de comando base. Dentro de este comando personalizado, puedes implementar la lógica o funcionalidad específica que desees.
Q. ¿Puedo utilizar comandos personalizados de Artisan para automatizar tareas comunes en mi proyecto Laravel?
A. Por supuesto, puedes utilizar comandos personalizados de Artisan en Laravel para automatizar tareas comunes. Estas tareas pueden incluir ejecutar migraciones, sembrar la base de datos, generar código, realizar tareas programadas y ejecutar cualquier lógica personalizada. Los comandos personalizados de Artisan proporcionan una forma cómoda y eficiente de automatizar acciones repetitivas en tu proyecto Laravel.
Hafsa Tahir
Hafsa es una comercializadora de contenidos que lleva tres años en el espacio del crecimiento orgánico. Con su formación en Psicología y UX, disfruta leyendo la mente de los usuarios y está dispuesta a probar los ángulos más creativos del marketing de productos. Sus copias gritan: "para nosotros no eres sólo un sueldo". Le encanta contar chistes sin gracia, pagar la cuota del gimnasio y no ir, y escribir relatos cortos psicológicamente perturbadores por alguna razón.