Cuando crees un programa de PHP que se ejecute desde la línea de comandos o consola, usualmente vas a necesitar recibir y procesar uno o más parámetros. Aquí voy a enseñarte algunas técnicas para poder hacerlo.
Nota: Si usas WAMP y no sabes como correr un archivo de php desde la consola, entonces puedes leer este articulo.
Una forma sencilla de trabajar con argumentos es consultando las variables predefinidas $argc
y $argv
.
$argc
contiene la cantidad de parámetros que se han pasado al llamar al archivo de PHP. Mientras que $argv
es un array con todos los parámetros que se han recibido, el primer elemento ( $argv[0]
) contiene el nombre del archivo de PHP que se ha ejecutado. Veamos ahora un ejemplo:
<?php echo "Ejecutar con el parametro: " . $argv[1]; ?>
Al ejecutar este código, veremos una salida como esta:
Ahora veamos un ejemplo un poco más completo sobre cómo puedes trabajar con parámetros en los archivos PHP que ejecutas desde la línea de comandos. Crea un archivo con este código:
<?php if ($argc == 1) // siempre recibe al menos el nombre del archivo como parametro { die("Debe ingrear un parametro"); } switch ($argv[1]) { case 'd': echo "Has seleccionado borrar todo el contenido"; break; case 'a': // Si elige la opcion a (add) debe enviar tambien el nombre if ($argc == 2 || $argv[2] == "" ) { echo "Error: No ingreso el nombre"; } else { echo "Se agrego el item " . $argv[2]; } break; default: echo "Parametro, no valido"; echo "Las opciones posibles son d ó a"; break; } ?>
Lee un poco el código anterior para comprenderlo y luego lo ejecutas para probarlo. Después intenta hacer algunos cambios para asegurarse que lo has entendido todo. Al ejecutarlo verás algo como esto (aquí hay varias corridas):