Академический Документы
Профессиональный Документы
Культура Документы
Ir a...
Todos sabemos lo fantástico que es PHP como lenguaje de programación de páginas web. Lo que no muchos saben es que es
igualmente fantástico como lenguaje para realizar programas multiplataforma para la shell. No todo es bash, Python, perl o Microsoft
Powershell. Vamos a ver algunas de las cosas que quizás no sabías que podemos hacer con PHP en la consola.
1. Ejecutar un script
Podemos crearnos nuestros propios programas simplemente creando un fichero .php y ejecutándolo con el binario CLI php. Por ejemplo:
<?php
echo "hola mundo!n";
?>
Y ahora para ejecutarlo sólo tendríamos que llamar al binario php (php.exe en Windows) seguido del nombre del script. Supongamos que
el ejemplo de arriba lo guardamos en un fichero que se llama test.php. Sería así:
$ php test.php
Y en sistemas Windows:
De esta forma, los dos mostrarían en pantalla el texto “hola mundo!”. Fácil, verdad?
@echo OFF
"C:phpphp.exe" test.php
En sistemas Unix es más sencillo. Tenemos que añadir en la primera línea la ruta al binario que ejecuta el script, y posteriormente
otorgamos permisos de ejecución al fichero. Y ya está, ya es ejecutable desde la consola y desde el entorno gráfico. El fichero quedaría
así:
#!/usr/bin/php
<?php
echo "hola mundo!n";
?>
$ chmod +x test.php
$ ./test.php
En el primer ejemplo ejecutamos el binario php y le pasamos como parámetro el nombre del script, por lo que en este caso añadimos los
caracteres “–”. En cambio, en el segundo no es necesario, ya que el script tiene permisos de ejecución.
En sistemas Windows, como vimos arriba, habría que crear un fichero por lotes .bat, que para que pasara los parámetros a nuestro script
quedaría así:
@echo OFF
"C:phpphp.exe" test.php %*
Bien, ya sabemos cómo enviar parámetros al script. Sólo nos queda saber cómo manejarlos. Pues muy sencillo. Hay dos variables globales
para manejarlos:
$ php -a
Interactive shell
Además, pulsando el botón tabulador, tendrás autocompletado de variables, funciones, clases, constantes, método estáticos y
constantes de clases.
Lo que hacemos es ejecutar los comandos que hay entre las comillas simples:
En este sencillo ejemplo lo que hemos hecho es en la salida estándar el texto “hola mundo”, que a su vez se envía a la entrada estándar
del comando “wc - c”, que se encarga de contar el número de caracteres. ¿Cómo hacemos esto en PHP? Consultando la entrada
estándar. En la versión CLI de PHP ponen a nuestra disposición 3 útiles constantes:
$ php -w fichero.php
Una opción estupenda cuando no tenemos acceso a internet, ni nos hemos descargado la documentación de PHP a nuestro equipo.
$ php -w fichero.php
Además, al estar disponible desde el propio binario de php, es muy fácil generar una versión HTML coloreada de cada fichero.
Veamos un ejemplo muy didáctico y muy poco útil de la documentación de PHP. Supongamos que queremos contar el número de líneas
de un proyecto. Accedemos a su directorio y ejecutamos lo siguiente:
1. En primer lugar ejecutamos el comando “find” de la consola de Linux. Nos mostrará (recursivamente) todos los ficheros del
directorio actual.
2. El resultado se lo pasamos por la entrada estándar al binario php, el cual realiza lo siguiente:
1. En el modificador “- B” especificamos el código inicial. Simplemente inicializamos la variable $lineas a cero.
2. En el modificador “- R” decimos lo que se hará por cada línea recibida por la entrada estándar. En este caso, cada línea se
corresponde con la ruta a un fichero:
1. Como vimos arriba, $argn contiene el texto que se está procesando. Contiene la ruta a un fichero
2. Pasamos esa ruta a la función file(), que genera un array donde cada índice contiene una fila del fichero leído.
3. Consultamos el tamaño del array, es decir, el número de líneas del fichero.
4. Incrementamos la variable $lineas con el valor obtenido en el paso anterior.
3. Finalmente, el modificador ‘- E’ se ejecuta al finalizar todo lo demás, y nos muestra como resultado el número total de líneas
de texto que hay en todos los ficheros de la carpeta actual.
Sencillísimo y muy potente. Lo que más complicado puede resultar es recordar los 3 modificadores (B,F,R) y las dos variables ($argn y
$argi).
Artículos relacionados
5 comentarios
Daniel Carrero 25 sept iembre, 2010 en 1:46 - Reply
Excelente revision!!
Confieso que no sabia algunos y sin duda serán interesantes en la implementación!!
Saludos y gracias por compartir
Hola Daniel
Me alegro de que te guste! La verdad, muchas de esas cosas yo tampoco las sabía hasta hace poco. Pero sin duda las daré uso de
ahora en adelante.
Un saludo
Hola de nuevo
Sí eso pasa mucho, pero hacer este review nos ayudará a aprender mas de php.
Saludos y gracias por tu comentario en mi blog.
gracias me ha servido de mucha ayuda, funciona mas rrapido que desde el navegador.
Escribir un comentario
Nombre (obligatorio)
Email (obligatorio)
Página web
Comentario...
Re de s sociale s
Buscar ...
Introducción a Doctrine 2
19 de febrero de 2011
Últimos trabajos
ACERCA DE
Gnoma es una compañía especializada en desarrollos de soluciones web. Nos apasionan las nuevas tecnologías y enfrentarnos día a día a
nuevos retos.
acid ajax alexa API Graph autónomos coffeescript css css3 debug desarrollo desarrollo web diseño errores eventos facebook facebook API firefox
framework freelance google html html5 ie9 internet explorer javascript joomla jquery mac mamp mysql php plugin
programación rendimiento seo svg tutorial versionitis w3c web web workers windows Wordpress zend ámbito
ÚLTIM OS TWEETS
@gnomaweb
Email: hola@gnoma.es
Web: http://gnoma.es