YAML y PHP (I)

Cuando pensamos en desarrollos en arquitectura cliente servidor no podemos, por menos, pensar en el lenguaje estrella de Internet: PHP. Es evidente que cualquier API que hagamos, que deba recibir y/o devolver datos deberá poder entender el formato YAML. Al contrario de lo que ocurre con otros formatos, como el popular JSON, PHP no entiende YAML de forma nativa (ni siquiera en las últimas versiones). Por lo tanto, es necesario añadirle una extensión adecuada para ello.

Afortunadamente, se trata de un proceso muy simple, que sólo tendremos que llevar a cabo una vez en nuestro equipo. En este artículo vamos a centrarnos en la instalación y puesta en marcha de esta extensión.

COMPROBACIÓN PREVIA

Podemos comprobar si está instalada cualquier extensión que podamos necesitar. Para ello, PHP dispone de la función extension_loaded(), que recibe, como argumento el nombre de una extensión y devuelve un valor true o false, dependiendo de que se encuentre instalada o no. Observa el siguiente uso de esta función:

Es bueno hacer esta comprobación, antes de tocar nada, para comprobar si la extensión está instalada, sobre todo si trabajas en un equipo compartido, en el que alguien haya podido instalarla antes. En mi caso me dice que no está instalada, por lo que la voy a instalar.

Antes de instalarla debo saber que versión de PHP tengo. Para ello, puedo usar phpinfo() en un código que abra con el ordenador o, simplemente, en la consola de comandos, teclear php -v y pulsar INTRO. A título orientativo, yo estoy en un entorno Windows, con Xampp instalado, y mi versión de PHP es PHP 7.1.11 (cli) (built: Oct 25 2017 21:07:06) (ZTS MSVC14 (Visual C++ 2015) x86). Es importante que, cuando pruebes tu versión de PHP tomes nota de estos datos.

DESCARGANDO LA EXTENSIÓN

Descargaremos la extensión para YAML de http://pecl.php.net/package/yaml. En esta página buscaremos la última versión marcada como estable. En el momento de escribir esto, es la 2.0.2. En la misma línea de esta versión tenemos dos enlaces de descargas. El que apunta al .tar.gz (para los Linuxeros) y el que apunta a las DLL, para los de Windows. En mi caso, pulso el enlace DLL.

Esto me lleva a una página donde encuentro distintas versiones para distintas revisiones de PHP. Actualmente hay tres revisiones de PHP 7 (la 7.0, la 7.1 y la 7.2). Como yo he visto que tengo la 7.1.11, me centro en el apartado de la 7.1. Y aquí empieza el lío: para cada una, hay cuatro versiones de la extensión. ¿Cúal elijo? Bien. En la información que he obtenido de mi PHP veo que pone, al final, x86. Eso quiere decir que, aunque mi ordenador sea de 64 bits, estoy trabajando con un PHP de 32. Eso me descarta dos de los enlaces, y ya sólo me quedan dos. También en la información que he obtenido veo que pone las letras ZTS. Sin entrar en detalles que se salen del contexto de este artículo, eso me dice que tengo que descargar la extensión que pone 7.1 Thread Safe (TS) x86. Puede que para ti sea otra. Presta atención a estos detalles, porque no son intercambiables. El enlace me descarga, directamente, un comprimido .zip, que puedo almacenar en cualquier parte (yo me lo he puesto en el escritorio).

INSTALANDO LA EXTENSIÓN

Abrimos el comprimido y encontramos varios archivos. En realidad, solo nos interesan dos de ellos: yaml.dll y php_yaml.dll. Los demás archivos no nos hacen falta para nada en este momento.

El primero lo copio en el directorio raíz de PHP. Como estoy trabajando can Xampp, en mi caso es C:/xampp/php.

El segundo archivo lo coloco en el directorio de extensiones de PHP. En mi caso es C:/xampp/php/ext.

Por último, tenemos que habilitar la extensión en el fichero de configuración, php.ini. Este se encuentra en el directorio raíz de PHP, donde colocamos el primero de nuestros archivos. Buscaremos donde están referenciadas las extensiones. Son un conjunto de líneas que empiezan por la palabra extension, seguida del signo = y el nombre de cada extensión que ya hay instalada. Añadiremos la siguiente línea:

extension = php_yaml.dll

Grabamos los cambios, cerramos el fichero de configuración y reiniciamos Apache.

Y ya está. Si ahora ejecutamos el sencillo script de comprobación que hemos usado al principio de este artículo, veremos que PHP ya nos informa de que la extensión está cargada.

Ya podemos, incluso, eliminar lo que quede del comprimido que obtuvimos de Internet. Ya no nos hace falta.

   

Deja un comentario