Saltar al contenido

Composer: Un manejador de dependencias PHP

1 septiembre, 2016
Composer

¿Qué es Composer? Es un gestor de dependencias para PHP, pero ¿Qué es un gestor de dependencias?, bueno, vamos a un ejemplo: Al empezar un proyecto web en PHP como lenguaje del lado del servidor muchas veces necesitamos librerías de terceros que nos ayudan a muchas funcionalidades que requieren nuestro proyecto, por ejemplo: envío de emails, cajas de texto, motores de plantillas, un ORM, o cualquier otro. Entonces, el ciclo típico para una aplicación que necesite esas librerías de tercero sería buscar cada una de las librerías de manera separada e ir instalándolas manualmente en tu carpeta de trabajo del proyecto, mientras esas librerías no sean cambiadas o hayan subido alguna actualización no hay problema, pero cuando se requiere actualizar a la nueva versión de esa librería de tercero surgen los problemas ya que debes remover de tu carpeta de trabajo la versión anterior y manualmente instalar la nueva versión, lo cual nos hace perder algo de tiempo.

Entonces, llegó para facilitar ese trabajo, ya que algunos simples comandos podemos instalar las librerías de tercero, pero no sólo eso, también nos ayuda a actualizar esas librerías y así usamos el versionamiento semántico para verificar qué tanto se ha actualizado cada librería. Para instalar Composer, nos vamos a su documentación oficial y seguimos las instrucciones para el sistema operativo donde estemos trabajando.

La manera de instalar alguna librería desde Composer es muy sencillo, navegamos desde la terminar hasta nuestro proyecto, nos vamos a packagist.org y buscamos la librería que necesitemos por ejemplo: Twig, que es un motor de plantillas muy recomendado. Al entrar en la librería que estamos buscando nos aparece la instrucción que necesitemos, para el caso de Twig sería: composer require twig/twig la escribimos en la consola y le damos enter. Automáticamente se instalará en tu carpeta de tu proyecto.

Una vez, que se instaló nos generará una carpeta en nuestro proyecto que se llama vendor y dos archivos que se llaman composer.json y composer.lock. El primer archivo es el más importante, ya que desde ahí podemos instalar más librerías. Aquí tenemos un vistazo composer.json y ahí podemos escribir una nueva librería que necesitamos, vamos nuevamente a packagist.org y buscamos otro, por ejemplo PHPMailer y nos encontramos con esta instrucción: «phpmailer/phpmailer»: «~5.2». Y lo pegamos en el composer.json. Nos quedaría de esta manera composer.json y para finalizar escribimos en la consola: composer update con esa instrucción Composer actualizará todas las librerías nuevas que hemos especificado.

Como recomendación final, es una herramienta muy útil, nos ayuda a mantener nuestras librerías actualizadas y usa el versionamiento semántico para un mejor entendimiento.