PHP.JS Las funciones PHP en Javascript

  • Por
Una fantástica colección de funciones Javascript basadas en las funciones que incluye el lenguaje PHP, que podemos utilizar libremente en los desarrollos.
Con la presente nota pretendemos presentar el proyecto php.js, de código libre, que nos ofrece la potencia y versatilidad de las funciones de PHP en el lenguaje Javascript. Este artículo interesará a los programadores de Javascript que buscan librerías de funciones con las que enriquecer sus desarrollos de una manera sencilla. Además, interesará también a los programadores de PHP, que conocen el rico juego de funciones que nos ofrece el popular lenguaje del lado del servidor y desean utilizarlo también del lado del cliente con Javascript.

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:

http://phpjs.org/

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.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

ernesto

10/9/2010
url relacionado
el url http://phpjs.org no fuciona o el sitio está caído. 10/09/2010

midesweb

23/11/2010
La URL de php.js es correcta
Pues prueba a acceder en otro momento porque la URL de php.js es justamente esa:
http://phpjs.org/
Está comprobado!!

pepe

19/10/2013
compile
no encuentro la sección compile

erobledi

28/9/2016
Error al hacer dns_get_record
Buenas,

Perdonad si no es el sitio pero no e visto como escribir en otro lado...

Estoy haciendo un dns_get_record a 5 dominios que tengo con noip, pero el 4 me salta con el error "Notice: Undefined offset: 0 in C:xampphtdocsWEBPROYECTOSWEBDEPRUEBAS.NETHogar2.0inicioSesion ewfile.php on line 20". Mi pregunta es, como puedo capturar este error en concreto para posteriormente adaptar la web ??

Mi codigo es el siguiente:

<?php

$contador;
$comprobador;

$DDNS[0] = "dominio1.ddns.net";
$DDNS[1] = "dominio2.ddns.net";
$DDNS[2] = "dominio3.ddns.net";
$DDNS[3] = "dominio4.ddns.net";
$DDNS[4] = "dominio5.ddns.net";


$contador = count($DDNS);


for ($i = 0; $i < $contador; $i++) {

$result = dns_get_record("$DDNS[$i]", DNS_ANY, $authns, $addtl);

$valor = $result[0];

$valor3 = $valor["ip"];

$comprobador[$i][1] = $DDNS[$i];
$comprobador[$i][2] = $valor3;

echo $comprobador[$i][1];
echo " -> ";
echo $comprobador[$i][2];
echo "<br><br>";

}