Los desarrolladores web contamos con infinidad de recursos para implementar directamente en nuestros proyectos, si bien es cierto que muchas de estas librerías requieren de un elevado número de archivos, en ocasiones procedentes de diversas fuentes, haciendo que la implementación y posterior mantenimiento conlleve un trabajo adicional considerable.
Para ello contamos con Composer, un avanzado gestor de paquetes y dependencias para PHP, con el cual podemos instalar de forma sencilla una completa librería PHP para nuestro proyecto y mantener todas sus dependencias al día.
Si tienes contratado un alojamiento web, es posible que desde el panel de gestión (CPanel, Plesk…) ya cuentes con un apartado dedicado a Composer, para facilitarte la instalación de librerías en tus proyectos.
Si eres de los que como yo, desarrollas tus proyectos web en modo local (localhost) para posteriormente subirlo a un hosting final, necesitarás instalar Composer en tu sistema operativo para descargar todas las librerías y dependencias correctamente.
Yo me muevo entre distribuciones basadas en Ubuntu (Debian), aunque seguramente el proceso de instalación no difiera mucho de otras basadas en Arch o Red Hat.
Instalar Composer en Ubuntu (y derivadas)
Cuando hablamos de derivadas, nos referimos a distribuciones que tienen como base Ubuntu, ya sean los sabores oficiales de Ubuntu (Ubuntu Mate, Xubuntu, Lubuntu, Kubuntu…) y otras tales como Linux Mint, KDE Neon, Zorin OS, Elementary OS…
Instalar paquetes necesarios
Antes de instalar Composer, necesitamos contar con los siguientes paquetes previamente instalados:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Descarcar Composer desde el terminal
Vamos a descargar Composer directamente desde la línea de comandos:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
Con esto hemos descargado el archivo composer-setup.php en el directorio en curso del terminal.
Verificar la instalación
Para garantizar la integridad del archivo descargado utilizamos el HASH SHA-384. Primero tomamos el HASH desde la propia fuente:
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Y lo comparamos con nuestro archivo recién descargado:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Si la verificación es correcta debemos ver el mensaje «Installer verified», de lo contrario nos dirá «Installer corrupt». En este último caso, tendríamos que volver a empezar el proceso desde el principio hasta que la verificación sea la correcta.
Instalar Composer de modo global
Para poder utilizar Composer desde cualquier ubicación de nuestor equipo, vamos a instalarlo en /usr/local/bin
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Deberíamos ver algo como:
All settings correct for using Composer
Downloading...
Composer (version X.X.X) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Si todo ha ido bien, lanzamos Composer desde el terminal y deberíamos ver algo así:
Instalar librerías en nuestro proyecto usando Composer
Si decesitamos instalar una librería en nuestro proyecto web, solo tenemos que situarnos en el directorio de nuestro proyecto y ejecutar:
composer require vendor/name
Hay que sustituir vendor/name por el nombre de la librería.
Normalmente se instala un directorio /vendor en nuestro proyecto con todos los archivos y dependencias de la librería referenciada.
Para usarla solo tenemos que hacer require once en nuestro script PHP o archivo de funciones del proyecto y ya tendremos acceso a todas las funciones y métodos de la librería:
require once '/vendor/autoload.php';
Si usas Visual Studio Code, es tan sencillo como abrir un terminal en el directorio y ejecutar la orden:
Y nada más, una vez terminado el proyecto, subimos todo al hosting (incluyendo el directorio /vendor).
Un saludo y nos vemos en el siguiente post 🙂