Cómo acceder a argumentos y opciones de comandos en Laravel
- Publicado el 19 diciembre, 2024
- Palabras: 67
¿Necesitas trabajar con argumentos y opciones de comandos en tus comandos Artisan? ¡Laravel te lo pone muy fácil!

#Métodos básicos de acceso
Obtener valores individuales con "argument" y "option":
// Get a single argument
$userId = $this->argument('user');
// Get a single option
$queueName = $this->option('queue');
#Obtener todos los valores
Recuperar todos los argumentos u opciones como arrays:
// Get all arguments
$arguments = $this->arguments();
// Get all options
$options = $this->options();
#Ejemplo práctico
A continuación se muestra un comando de implementación práctico que demuestra varias formas de acceder a las entradas:
class DeployApplication extends Command
{
protected $signature = 'deploy
{environment : The deployment environment}
{--branch= : The git branch to deploy}
{--F|force : Force deployment without confirmations}
{--notify=* : Notification channels}';
public function handle()
{
// Individual access
$environment = $this->argument('environment');
$branch = $this->option('branch') ?? 'main';
$force = $this->option('force');
// Dump all inputs for debugging
if ($this->option('verbose')) {
$this->table(
['Type', 'Values'],
[
['Arguments', json_encode($this->arguments())],
['Options', json_encode($this->options())]
]
);
}
// Use the values
$this->info("Deploying to {$environment}");
$this->info("Branch: {$branch}");
if (!$force && !$this->confirm('Continue with deployment?')) {
return;
}
// Handle notifications
foreach ($this->option('notify') as $channel) {
$this->info("Sending notification via {$channel}");
}
// Deployment logic here...
}
}
Ejemplos de uso:
# uso básico
php artisan deploy production --branch=main
# Con múltiples canales de notificación
php artisan deploy staging --branch=feature/new-api --notify=slack --notify=email
# Forzar el despligue
php artisan deploy production -F
# Mostrar todas la entradas (verbose mode)
php artisan deploy production -v
La capacidad de acceder fácilmente a los argumentos y opciones de los comandos le ayuda a crear comandos de consola más flexibles y potentes.
Fuente: Harris Raftopoulos
Inicia la conversación
Hazte miembro de Antonio Jenaro para comenzar a comentar.
Regístrate ahora¿Ya estás registrado? Inicia sesión