Una fantástica colección de funciones Javascript basadas en las funciones que incluye el lenguaje PHP, que podemos utilizar libremente en los desarrollos.
A pesar que tengamos una breve experiencia con PHP, no me cabe duda que ya habremos podido utilizar una gran cantidad de funciones del lenguaje, creadas para cientos de usos habituales a la hora de desarrollar aplicaciones web. Lo cierto es que las propias funciones de PHP son una de las mayores ventajas que nos ofrece ese lenguaje, ya que tratan infinidad de casos que desearemos realizar cuando hacemos una web por sencilla que sea, como enviar email, acceder a bases de datos, recibir y validar información del usuario, etc.
Por su parte, los que conocen algo sobre Javascript, habrán podido comprobar que este lenguaje de programación del lado del cliente ofrece un juego de funciones bastante reducido. A través de diversas clases y objetos podemos hacer muchas cosas en Javascript con distintos objetivos. Por ejemplo, tenemos la clase String que ofrece tratamiento de cadenas de caracteres en Javascript o la clase Math, que nos ofrece funciones matemáticas diversas.
No obstante, como decía y a vista de lo que nos ofrecen otros lenguajes como PHP, las funciones con las que contamos en Javascript son bastante limitadas. Esto quiere decir que, a poco que deseemos hacer tratamientos un poco avanzados, vamos a tener que desarrollar nosotros mismos funciones que nos sirvan para ello. Por ejemplo, ¿quién no agradecería una función como strip_tags() o strtotime()? o incluso otras más complejas como ksort() para ordenar arrays, file_exists() para averiguar si existe un fichero en el servidor o utf8_decode() para convertir una cadena UTF-8 en ISO-8859-1.
Así pues, si queremos obtener soporte para cientos de funciones PHP en Javascript, nos vendrá como anillo al dedo la librería que nos ofrecen desde php.js, cuya URL de proyecto es:
En la página de este proyecto, que es de libre uso y totalmente gratuito para cualquier propósito, podremos encontrar una gran gama de funciones listas para usar. En el apartado "Functions" podremos echar un vistazo rápido al listado de funciones soportadas. Podríamos copiar el código de alguna que nos interese puntualmente y pegarlo en nuestro archivo de scripts Javascript, o podríamos acceder a la sección "Packages" para descargar alguno de los paquetes de funciones específicos.
Ahora bien, si queremos hacer un uso optimizado de estas librerías, convendría entrar en la sección "Compile" donde podremos ver un listado de todas las funciones disponibles y un checkbox para seleccionarlas si nos interesa. Con este sistema podremos seleccionar las funciones que nos interesa de cada apartado y si existen dependencias entre ellas, se seleccionarán automáticamente aquellas que necesitemos también.
No se pueden hacer todas las funciones PHP en Javascript
Si examinamos la lista de funciones que están disponibles en el proyecto php.js veremos que hay muchas que realizan procesos bien complejos, algunos hasta, a priori, dependientes de servidor. En el código de las funciones veremos que de manera bastante elegante se solucionan muchas de las dificultades que inicialmente podríamos suponer, haciendo uso de tecnologías al alcance de los navegadores como Ajax.En cuanto a versatilidad del paquete nos tenemos que quitar el sombrero, pero no nos engañemos, pues no todo lo que se hace con PHP se puede "emular" desde lenguajes del lado del cliente como Javascript.
En este sentido cabe acceder a la sección de "Develop!", donde encontraremos una serie de consejos o posibilidades si queremos prestar nuestra ayuda a esta comunidad de desarrolladores, como crear funciones nuevas, así como documentar o mejorar funciones existentes. En concreto podremos tener una buena idea sobre lo que falta por hacer si en esta sección "Develop!" vamos donde pone "Add a function". Accederemos a una página donde aparecen las funciones que están todavía por hacer y otro listado de funciones que probablemente no se puedan implementar en Javascript, por las restricciones de los lenguajes del lado del cliente, como disk_free_space(), copy(), scandir(), exec() o dns_get_record(), por poner varios ejemplos.
Conclusión sobre el paquete de funciones PHP en Javascript
Considero que este paquete de funciones es todo un hallazgo y seguro que resultará útil en algún momento. Es una curiosa manera de dotar de mayores utilidades para programadores a Javascript, que resultará más fácil de comprender, de usar y explorar a las personas que tengan experiencia también con PHP.Merece la pena tenerlo en cuenta para los desarrollos futuros, pues siempre habrá alguna función o funciones que nos aporten soluciones a problemas comunes, no sólo cuando hacemos sitios web comvencionales, sino también en aplicaciones de escritorio basadas en desarrollos web como las que se realizan con sistemas como Adobe AIR.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...