Dominar los comandos de Composer marca la diferencia entre un flujo de trabajo improvisado y uno verdaderamente profesional en PHP. Esta herramienta funciona por completo desde el terminal, y conocer sus instrucciones principales permite instalar, actualizar y eliminar paquetes con total control sobre cualquier proyecto.
¿Cómo se inicia un proyecto con Composer?
Todo comienza con la creación del archivo composer.json. Basta con crear un archivo con ese nombre, escribir un par de llaves vacías {} y ejecutar composer dump en el terminal [0:25]. Con eso, Composer genera automáticamente la configuración base del proyecto, incluyendo lo necesario para el autoload y la estructura inicial.
Es importante tener claro el orden correcto: primero se configura Composer, luego se crean las clases y archivos del proyecto. No es recomendable desarrollar primero y tratar de integrar Composer después, ya que la estructura depende de esa configuración inicial.
¿Qué muestra Composer al ejecutarse sin argumentos?
Si escribimos simplemente composer en el terminal y presionamos enter, aparece una lista completa de todos los comandos disponibles [1:05]. Esta lista incluye un ejemplo de uso con la sintaxis general: comando, opciones y argumentos. Es una referencia rápida muy útil para recordar qué herramientas tenemos a disposición.
¿Cuál es la diferencia entre install, require y remove?
Estos tres comandos cubren el ciclo de vida de cualquier paquete dentro de un proyecto:
composer install: instala todos los componentes que ya están declarados en el archivo composer.json [1:22]. Se utiliza cuando la configuración ya existe pero los paquetes aún no se han descargado, por ejemplo, cuando se elimina la carpeta vendor y se necesita reconstruir las dependencias.
composer require: permite instalar un paquete nuevo cuando se conoce su nombre completo [2:10]. Por ejemplo, composer require phpunit/phpunit se conecta a Internet, descarga el paquete y actualiza automáticamente el composer.json con el nombre y la versión correspondiente.
composer remove: realiza el efecto contrario a require [3:22]. Elimina el paquete indicado, vacía la referencia en el archivo de configuración y borra los archivos relacionados de la carpeta vendor.
La diferencia práctica es clara: install trabaja con lo que ya está configurado, require agrega nuevos paquetes y remove los desinstala por completo.
¿Por qué Composer profesionalizó a PHP?
Antes de esta herramienta, desinstalar o gestionar dependencias de forma manual era propenso a errores. Era fácil olvidar paquetes secundarios o dejar archivos huérfanos en el proyecto [3:40]. Composer automatiza todo ese proceso: sabe exactamente qué instaló, qué versiones utiliza y qué debe eliminar cuando ya no se necesita un componente.
¿Cómo se actualiza Composer y sus dependencias?
Existen dos comandos adicionales que resultan fundamentales:
composer self-update: actualiza Composer como herramienta global del sistema [4:02]. Es decir, no toca las dependencias del proyecto, sino que descarga la versión más reciente del propio gestor de paquetes.
composer update: se conecta a Internet para verificar si existen actualizaciones de los paquetes instalados [4:10]. Trabaja en conjunto con el composer.json y el archivo composer.lock, que registra las versiones exactas que se instalaron.
El archivo composer.lock es un concepto clave porque garantiza que todos los miembros de un equipo trabajen con las mismas versiones de cada dependencia, evitando inconsistencias entre entornos de desarrollo.
Comprender estos comandos permite tomar decisiones informadas en cada etapa del proyecto. Si conoces algún otro comando de Composer que uses con frecuencia, comparte tu experiencia en los comentarios.