Programando con Composer

Una introducción al gestor de paquetes y dependencias para elaborar programas en PHP

Composer es un gestor de dependencias para PHP. Muchas veces nos enfrascamos en un proyecto en el que alguna funcionalidad nos ha sido costosa de implementar y hemos reinventado la rueda. Esa funcionalidad seguramente alguien ya la haya implementado. Composer permite introducir este tipo de funcionalidades en nuestro proyecto con un método de integración muy sencillo.

La página oficial de Composer, donde se puede descargar la última versión es getcomposer.org

Composer es un paquete Phar autoejecutable que provee de una consola de comandos para su utilización. Junto con composer se utiliza un fichero de configuración de los paquetes utilizados por nuestra aplicación, con su número de versión lo que permite su actualización remota cuando el desarrollador original actualice su código.

La ejecución de Composer genera un fichero de configuración de paquetes y dependencias llamado composer.json. Este fichero almacena la información de qué paquetes se han descargado e instalado y en qué versión. La utilización de este fichero nos permite mantener actualizado nuestro software y utilizar siempre las últimas versiones de los paquetes descargados.

Para instalar Composer basta con ir a la página web oficial y descargarlo siguiendo los pasos:

1. Descargar composer: 

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

2. Comprobar que la versión es correcta: 

php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

3. Instalar Composer:

php composer-setup.php

Junto a esta línea de comandos se pueden introducir algunos parámetros útiles por ejemplo para definir la ruta de instalación y el alias que se introducirá en el path para ejecutarlo y no depender de php para lanzar Composer constantemente. El parámetro --install-dir nos permite definir la ruta de instalación y el parámetro --filename, definir el alias de ejecución:

php composer-setup.php --install-dir /usr/local/bin --filename composer

Los comandos más útiles para el desarrollador para utilizar composer son los siguientes:

composer init: Ejecuta un wizard para generar el fichero composer.json. La utilización de composer init permite además establecer descripciones del paquete o el proyecto que vaya a desarrollar tales como: nombre del paquete, descripción, vendor, autor, estabilidad mínima, tipo de paquete, licencia y sus dependencias. El gestor que se utiliza genera un fichero composer.json que gestiona todas las dependencias, paquetes y versiones del proyecto.

composer install: Con este comando instalamos las dependencias del fichero composer.json

composer require: Con este comando gestionamos las nuevas dependencias que queramos introducir en nuestro composer.json. Tras aplicar la actualización, lo apropiado es realizar la ejecución de composer install.

composer update: - Permite mantener actualizadas las dependencias del fichero composer.json y todos los paquetes de los que dependan los componentes descritos en el mismo.

composer update -o: Con este comando actualizamos las dependencias y optimizamos el autoloader.

composer update --node-dev:  Actualiza las dependencias e ignora los paquetes de desarrollo.

Composer está muy unido a packagist, que es un compendio de paquetes indexados con sus distintas versiones y que se mantiene actualizado gracias a la comunidad de usuarios y desarrolladores.

Contenido Relacionado