Entendiendo Composer

Composer es un administrador de paquetes por proyecto para PHP. Originalmente lanzado en 2011, se puso al día rápidamente y se convirtió en un administrador de paquetes favorito entre los desarrolladores de PHP. Con solo mirar sus estadísticas de GitHub, podemos ver que el proyecto está siendo desarrollado activamente por la comunidad:

Hoy en día, es una parte integral de casi todos los proyectos PHP populares. Instalar Composer es una tarea bastante sencilla. Suponiendo que estamos utilizando la nueva instalación de Ubuntu 16.10 (Yakkety Yak), el siguiente comando describe cómo podemos instalar Composer:

sudo apt-get -y install composer

Ejecutar composer -v después de la instalación debería mostrar el resultado similar a la siguiente captura de pantalla:

Ahora que lo tenemos instalado, usar Composer es bastante simple. Suponiendo que tenemos un proyecto existente al que nos gustaría agregar la biblioteca Twig, podemos hacerlo simplemente ejecutando el siguiente comando dentro de nuestro directorio raíz del proyecto:

composer require "twig/twig:^2.0"

Tras la ejecución, se crean / modifican dos archivos y un directorio: composer.json, composer.lock y vendor. El directorio de proveedores es la ubicación física donde Composer coloca los paquetes que elegimos instalar. Podríamos haber comenzado fácilmente creando manualmente el mismo archivo composer.json con el contenido de la siguiente manera, y luego ejecutando el comando de instalación del compositor dentro del directorio del proyecto:

{
"require": {
"twig/twig": "^2.0"
}
}

Echa un vistazo a https://getcomposer.org/doc/04-schema.md para obtener información completa sobre el posible contenido composer.json.

Ahora podríamos modificar fácilmente index.php o cualquier otro archivo de punto de entrada a nuestro directorio raíz del proyecto e incluir todos los paquetes de composer instalados agregando la siguiente entrada de la siguiente manera:

require_once __DIR__ . '/vendor/autoload.php';

El archivo vendor/autoload.php es creado por la herramienta composer, que maneja la carga automática de todos los paquetes que extrajimos a través del compositor, cuyo contenido se ve así:

<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitea5a081b69b5068b6eadbd8b638d57b2::getLoader();

Este archivo no es algo en lo que realmente debamos preocuparnos, aparte de saber dónde está.

Se admiten la carga automática de PSR-4 y PSR-0, aunque PSR-4 es la forma recomendada, ya que ofrece una mayor facilidad de uso.

Tan pronto como incluyamos /vendor/autoload.php en nuestro script, todos los paquetes incorporados estarán disponibles para nuestra aplicación. Ya sea un proyecto nuevo o existente, Composer hace que sea bastante fácil agregarle paquetes.

Aprender sobre Composer en su totalidad está fuera del alcance de esta sección. Consulte la documentación original (https://getcomposer.Org/) para obtener más detalles sobre Composer.

Comparte