Composer es el gestor de dependencias de PHP y se encarga de instalar las bibliotecas que necesita un proyecto.
Composer es el Gestor de Dependencias de PHP. Es una herramienta que se instala en tu ordenador (como git o node) y te permite descargar, actualizar y gestionar librerías creadas por otros desarrolladores fácilmente.
¿Por qué lo necesitamos?
Imagina que quieres generar PDFs en tu web. Tienes dos opciones:
- Opción Antigua: Escribir tú el código para crear PDFs (tardarás meses) o buscar un zip en internet, descargarlo, ver qué versión es, meterlo en una carpeta…
- Opción Composer: Escribes un comando y Composer descarga la mejor librería de PDFs, la conecta a tu proyecto y vigila si hay actualizaciones de seguridad.
Los archivos clave
Cuando usas Composer, verás aparecer tres elementos nuevos en tu proyecto:
composer.json: Es el archivo de configuración. Es tu “lista de la compra”. Aquí dice: “Mi proyecto necesita la libreríaphpmailerversión 6.0”.- La carpeta
vendor/: Aquí es donde Composer descarga físicamente las librerías. No edites su contenido a mano; Composer lo regenera. composer.lock: Es un archivo automático que “congela” las versiones exactas instaladas. Garantiza que si tu compañero se descarga el proyecto, tenga exactamente las mismas versiones de las librerías que tú.
Comandos básicos (tu día a día)
Todo se maneja desde la terminal (consola).
A. Iniciar un proyecto (init)
Si empiezas un proyecto nuevo, esto crea el archivo composer.json.
composer initB. Instalar una librería nueva (require)
Imagina que quieres instalar Monolog (una librería famosa para crear logs). No vas a Google, vas a tu terminal:
composer require monolog/monologEsto descarga la librería en la carpeta vendor y la añade a tu composer.json automáticamente.
C. Instalar dependencias existentes (install)
Si te descargas un proyecto de GitHub que usa Composer, verás que le falta la carpeta vendor. Para crearla y bajar todo lo necesario, ejecutas:
composer installLee el archivo composer.lock y descarga todo idéntico a como estaba originalmente.
El repositorio oficial: Packagist
¿De dónde saca Composer las librerías? De Packagist.org.
Es el directorio oficial. Si necesitas hacer algo (ej: “leer Excel”), vas a Packagist, buscas “excel”, y verás el nombre del paquete (ej: phpoffice/phpspreadsheet) para hacer el composer require.
La carpeta vendor y git
La carpeta vendor/ JAMÁS se sube a GitHub/Git.
Es pesada y redundante. En tu archivo .gitignore siempre debe haber una línea que diga:
/vendorTus compañeros solo necesitan el composer.json y el composer.lock. Ellos ejecutarán composer install en sus máquinas y obtendrán su propia carpeta vendor.