PHP, la manera correcta

3.4. Interfaz de línea de comandos (CLI)

PHP fue creado principalmente para desarrollar aplicaciones web, pero también es muy útil para los programas que se ejecutan en la consola de comandos (también llamada CLI). Los programas de línea de comandos en PHP son muy útiles para automatizar tareas comunes como tests, despliegues y la administración de aplicaciones.

Las aplicaciones PHP de consola son muy potentes porque se pueden utilizar sin necesidad de crear una interfaz web. Por este motivo, debes asegurarte de no colocar nunca estas aplicaciones de consola en el directorio raíz público de una aplicación web.

Para probar a ejecutar PHP en la consola, ejecuta el siguiente comando:

> php -i

La opción -i muestra por pantalla la configuración de PHP, tal y como sucede también con la función phpinfo. La opción -a activa una consola interactiva muy similar al IRB de Ruby o a la consola interactiva de Python. Existen varias opciones de línea de comando que resultan muy útiles.

Vamos a escribir un programa simple que imprima "Hola, $nombre" en la línea de comandos. Para ello se crea un archivo llamado hola.php con el siguiente contenido:

<?php
if($argc != 2) {
    echo "Uso: php hola.php [nombre].\n";
    exit(1);
}

$nombre = $argv[1];

echo "Hola, $nombre\n";

PHP pone a disposición de las aplicaciones dos variables especiales relacionadas con los argumentos que recibe el programa ejecutado. La variable de tipo entero $argc contiene el número de argumentos y la variable de tipo array $argv contiene el valor de cada uno de los argumentos que se pasaron durante la ejecución. El valor del primer argumento siempre es el nombre del archivo del programa PHP, que en este caso es hola.php.

La expresión exit() se puede usar con un número distinto de cero para indicar que el comando ha fallado. En esta lista puedes encontrar los códigos de salida más comunes.

Para ejecutar este programa desde la línea de comando:

> php hola.php
Uso: php hola.php [nombre]

> php hola.php mundo
Hola, mundo