Funciones de la programación PHP que desconocías
16/01/2017

Funciones de la programación PHP que desconocías

Programación y Diseño Web

Pese a que en la actualidad están apareciendo alternativas al uso de PHP en la programación web y comunicación con los servidores, este lenguaje sigue estando presente en muchas empresas y se sigue demandando perfiles expertos en él. Es por eso que hoy volvemos a hablar mostrando algunas funciones un tanto curiosas que posiblemente no esperabas que un lenguaje web fuera capaz de tener. Más allá de mostrar información al usuario, por parte del servidor, como por ejemplo datos de su cuenta personal, o darle la posibilidad de modificar algunos de ellos, vamos a ver unas cuantas funciones que nos brindan la posibilidad incluso de mirar el uso de la CPU. Vamos allá.

Programación PHP y funciones curiosas

1.Uso de memoria. Empezamos con algo básico a controlar en cualquier lenguaje, y se trata de tener a la vista el colector de memoria. Esto es importante porqué en muchos lenguajes de programación se generan datos que se almacenan en la RAM, los cuales si no los vamos eliminando acabarán por ocupar todo el espacio y por ende subir el consumo de recursos de la máquina, algo que nunca queremos y por ello es importante ir destruyendo dichos datos a medida que se vuelven irrelevantes. Para eso usaremos memory_get_usage() para comprobar el uso actual de memoria y memory_get_peak_usage() para ver el pico que hemos llegado a tener. Recordemos que esto no elimina nada, sólo muestra información. En nuestras manos queda, entonces, la tarea de cerrar procesos que estén activos en otros ficheros.

2.Generar identificadores únicos. Es muy posible que en algún momento necesitéis generar esta clase de valor para un usuario. Imaginemos la situación en la que queremos dar una suscripción a notificaciones push, para relacionarlo con aplicaciones móviles. Bien, las notificaciones push necesitan un id (llamado token) único para cada teléfono. Este id no se puede repetir en ningún caso. Con la función uniqid() podemos generar este valor único y jamás se va a repetir. Una gran herramienta para cuando necesitemos dar ese acceso temporal con un grado de seguridad para que no se duplique una conexión.

3.Ejecutar algún trozo de código al final de un fichero. Esto está más pensado como herramienta de pruebas. Cuando trabajamos con servidores y paginación web, el tiempo de respuesta es muy importante. Debemos tener en mente que una web que tarda en cargar, en su mayoría, implica un usuario perdido. Poneros en su lugar: si entráis en una web y tenéis que estar varios minutos esperando, ¿qué acabáis haciendo? Por lo general abandonarla. Es por ello que haremos un registro del tiempo que ha tardado un script en ejecutarse. Usaremos, en este caso, register_shutdown_function(). ¿La diferencian entre esto y usar algún pedazo de código al final del fichero? Muy fácil, y es que si en algún momento hemos hecho un exit(), el código jamás se ejecutará, mientras que con register_shutdown si. Es una medida para asegurarnos de que siempre vamos a ejecutar el código deseado antes de cerrar el fichero. Es por ello que esta función tiene unos propósitos más orientados a las pruebas.

4.Guardar contenido remoto en tu propio servidor. Por lo general, subimos información al servidor a través de un cliente FTP, como Filezilla, pero tenemos una función capaz de recoger, por ejemplo, una imagen a partir de una URL. Se trata de file_put_contents(), una función a la que debemos pasar dos argumentos, la url destino y el contenido. Esto la hace una función un poco más compleja porqué ya nos está pidiendo que necesita más detalles para poder funcionar. De todos modos es algo que debemos tener por la mano, ya que las funciones por lo general le pasamos argumentos.

5.Capturar el uso de CPU de nuestro backend PHP. Finalmente, mientras estamos haciendo pruebas de toda la estructura que estamos construyendo, uno de los datos que más nos interesan es el consumo que tendrá en nuestro servidor. Normalmente esto no es algo relevante en el caso de que la tasa de visitas no sea muy grande, pero en sitios como Facebook o Twitter, los cuales funcionan, entre otros lenguajes, bajo PHP, necesitan tener un constante control del consumo de recursos de su web, ya que esto afecta también a la velocidad de carga. Es por eso que getrusage() nos devolverá dicho consumo para que nosotros podamos actuar en consecuencia. Hay que tener en mente que esta función es especial, y es que resulta que en sistemas windows (en el lado del servidor) no funciona. Esto significa que por fuerza debemos tener contratado un servidor Linux. De todos modos no debemos preocuparnos porqué se trata del 90% de los hosts que están en oferta de contratación.

Como hemos podido observar, PHP se puede usar también para hacer pruebas y controles de cara a nuestras máquinas con el objetivo de mejorar el servicio ofrecido, y debido a que aún no se abandona el lenguaje, es importante que tengamos en mente todos estos usos extra, ya que en algún momento terminarán por demandarnos el desarrollo de algún script capaz de ello.

Curso relacionado: Curso Superior de Programación con HTML5 y CSS

Comparte en:

Grado Superior de Desarrollo de Aplicaciones informáticas en la Salle de Barcelona. Trabaja actualmente como desarrollador de aplicaciones para móviles, especialidad en videojuegos.

Mejores plataformas para crear un ecommerce
21/05/2020
Carlos Yañez

Mejores plataformas para crear un ecommerce

En el post de hoy veremos cuales son las plataformas de ecommerce más adecuadas para crear una tienda on-line para que, si estás interesado, puedas desarrollar tu pr...

Consejos para detectar un ciberataque
21/05/2020
Rubén Bellido

Consejos para detectar un ciberataque

Estamos en un momento de pleno auge digital, es por ello que también estamos en un punto que los ciberataques van en aumento exponencialmente y así lo demuestran dif...

claves web exito
09/05/2020
Carlos Yañez

6 consejos para hacer una web exitosa

En el post de hoy te daremos las claves para que tu web sea realmente exitosa. Veamos en qué apoyarnos para conseguir el éxito.