My kemenworld…

To mock or not to mock…

PHP-CLI

Posted by kementeus en enero 23, 2007

Luego de mis últimos post-minitutoriales sobre daemons en PHP un amigo me comentaba sobre cosas como PHP para programación de sistemas que no fueran “web oriented” o cuando bromeabamos hace mucho tiempo sobre cosas como PHP-GTK. Cierto, siempre he pensado que PHP no es un lenguaje diseñado para menesteres como ese pero eso no signfica que algunas personas se las han ingeniado para hacerlo funcionar en esos entornos.

En lo personal he trabajado por bastantes años en el desarrollo en varias plataformas, y muchas veces herramientas como los daemons o aplicaciones que no sean web o de consola he tenido que usar lenguajes que van desde C, hasta C# (jejeje, pasando por un monton en el medio!) y mi lenguaje de scripts favorito para programar aplicaciones de consola en Linux sigue siendo Python. El detalle es que en los años que he programado como web developer o he servido de arquitecto o PM en menesteres de ese tipo me he dado cuenta que muchas veces necesitamos “salirnos” de la jaula impuesta por la programación web y tocar la temible consola, muchos de los web developers con quienes he trabajado han tomado el impulso y aprendido cosas como Perl, Python o ahora el famoso Ruby (que veo lo estan usando mas para web que para system programming), el problema con esto es que el webdeveloper debe no solo pasar por el trauma de cambiar a un entorno totalmente diferente donde no debe “escupir” HTML tags y </br> no es igual a \n sino que en el procedimiento actual implicaría cambiar de lenguaje (creanme, pasar de PHP a Perl no es cosa fácil). Esto lleva su tiempo y produce tragos amargos.

Lo que he intentado hacer es mostrar que PHP tambien puede ser usado para este tipo de trabajos. No implica el encasillar y afirmar que es “mejor” o “peor” (no sé pero estoy comenzando a pensar que a la gente le gustan los debates o guerras de si te gusta el rojo o el azul) simplemente trato de explicar que hay más allá en un lenguaje de lo que a veces vemos. Busca en internet como hacer una conexión a MySQL desde PHP y encontraras miles de páginas explicando usar mysql_connect (rayos! no puedo creer que alguien aún mezcle HTML con PHP en el mismo archivo o peor aún, use msyql_connect implicitamente en una sentencia!) pero busca como cambiar en un script el usuario actual que ejecuta el script y creo que solo la referencia en la documentación de PHP saldrá. Es por eso que he sacado esta serie😀

 En resumidas cuentas, PHP también puede ser usado para System Programming, de hecho, es bastante versatil en ello. Las ventajas ante escribirlo en otro lenguaje lo resumo a dos cosas sencillas: reutilizar código y no tener que aprender otro lenguaje para hacer una misma tarea en la misma aplicación (entíendase todo el base code estaría en el mismo lenguaje).

Ultimamente he visto resurgir proyectos como PHP-GTK el cual lleva años existiendo pero creo que hasta ahora esta teniendo el auge que merece, creo que PHP5 ha madurado y cambiado lo suficiente para volver a PHP un lenguaje usable para la escritura de aplicaciones de este tipo (PHP4 para mi distaba mucho de ser un buen lenguaje para system programming). Si quieren saber más de PHP-GTK visiten su página en http://gtk.php.net o les recomiendo el artículo en la PHP Architect de Julio y Agosto del 2006. Si quieren mas información sobre PHP-CLI en general les recomiendo la página oficial de PHP-CLI, sencilla pero con información básica de como comenzar. Para aquellos que quieren programar en CLI con Windows le recomiendo el proyecto Winbinder el cual se encuentra aún en una etapa beta y busca hacer binders de las API de Windows para ser usadas en PHP permitiendo escribir aplicaciones windows usando PHP como lenguaje de programación.

Como ven hay un mundo de cosas que podemos hacer en PHP, les recomiendo que se den una vuelta por la documentación y como siempre experimenten. Como siempre cualquier duda o comentario los comments estan abiertos😛

Una respuesta to “PHP-CLI”

  1. Jonathan Tovar Sanmiguel said

    Muchas personas desconocen el uso de PHP de una forma diferente al uso en la Web. Yo llevo años trabajando con PHP y solo hasta hace poco tuve la necesidad de realizar daemons para casos especificos. Cuando se trabaja PHP como CLI es muy agradable trabajar en un lenguaje para el cual uno ya esta familiarizado y que solo toca enternder muy pocas cosas para ver como se utiliza en el modo CLI. Una de las cosas con las que me encontre y que realmente añore fue el uso de hilos pero es tanto mi amor por PHP que siempre hay una solucion para todo. En el caso de sistemas basados en UNIX como LINUX es muy facil recurrir a extensiones como la Ncurses y otras que permiten hacer Fork en PHP para hacer scripts multihilos pero una cosa particular es el uso de del Xinetd con el cual se puede hacer cosas maravillosas en un servidor. Solo los invito a que no se queden con las cosas que la mayoria de personas usan y por eso limiten su conocimiento en este maravilloso lenguaje. Abran su mente y expandan su conocimiento hacias cosas que nadie mas halla probado y logren hacer y superar las cosas que hasta el momento pensabas que no se podia hacer.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: