Composer para principiantes de PHP: Dependencias y Autoloading
Estás empezando un nuevo proyecto PHP y necesitas una librería para logging o peticiones HTTP. Copias y pegas algo de código, pero rápidamente se vuelve un desastre. ¿Cómo gestionas las librerías externas correctamente? Composer lo soluciona encargándose de las dependencias y el autoloading por ti. En esta guía, aprenderás a usar Composer desde cero.
¿Qué es Composer?
Composer es un gestor de dependencias para PHP. Te permite declarar las librerías de las que depende tu proyecto y las gestiona por ti. No es un gestor de paquetes como apt o yum; funciona por proyecto, instalando las dependencias en un directorio vendor.
Instalando Composer
Primero, comprueba si Composer ya está instalado ejecutando composer --version en tu terminal. Si no, descárgalo e instálalo desde getcomposer.org. En Windows, usa el instalador Composer-Setup.exe. En macOS/Linux, ejecuta el script de instalación.
Creando un archivo composer.json
Todo proyecto Composer tiene un archivo composer.json que describe las dependencias. Puedes crearlo manualmente o ejecutar:
composer init
Este comando interactivo pregunta por el nombre del paquete, descripción, autor y dependencias. Por ahora, puedes omitir añadir dependencias y editar el archivo más tarde.
Añadiendo Dependencias
Para añadir una librería, usa composer require. Por ejemplo, para añadir la popular librería de logging monolog/monolog:
composer require monolog/monolog
Composer descargará la librería y sus dependencias en el directorio vendor y actualizará composer.json y composer.lock.
Entendiendo las Restricciones de Versión
Composer usa versionado semántico. Restricciones comunes:
^1.2permite actualizaciones a1.xpero no a2.0(recomendado para librerías).~1.2permite actualizaciones a1.2.xpero no a1.3.1.2.*permite cualquier versión1.2.x.>=1.2