Composer es el gestor de dependencias de PHP. Básicamente nos ayuda a instalar y mantener actualizadas las librerías en las que nos basamos cuando desarrollamos aplicaciones PHP.
Composer es un gestor de dependencias para el lenguaje PHP. Es el equivalente a npm para NodeJS o Maven para Java.
Como otros gestores de dependencias, nos sirve para instalar de una manera cómoda toda la serie de librerías y frameworks sobre las cuales construyamos cualquier tipo de proyecto PHP. Pero no solo eso, además de instalar Composer nos permite de una manera sencilla y cómoda mantener actualizadas las dependencias, con lo que nos asegura un óptimo estado del proyecto con menos esfuerzo.
Funciona mediante sencillos comandos de consola, que se lanzan tanto en los ordenadores de desarrollo como en los servidores donde va a estar alojado el proyecto en producción.
Más información:
Artículos destacados de Composer:
Por qué debes usar Composer
En el desarrollo de software actual los gestores de dependencias son una pieza básica, ya que cada vez los programadores nos basamos en más y más código de otras personas. Instalar las dependencias mediante un sencillo comando es una gran ventaja, pero sobre todo lo que importa es toda una serie de problemas que nos resuelven los gestores de dependencias, haciendo mucho más fácil, cómoda y segura nuestro día a día.
- Composer te permite mantener actualizadas las dependencias instaladas. Con un sencillo comando puede actualizar todas las librerías que tienes instaladas en un proyecto. Si tuviésemos que actualizar todas las dependencias manualmente se perdería mucho tiempo en el día a día y al final lo iríamos dejando,
- Además, si no actualizas tus dependencias es seguro que tendrías instalado software con problemas de seguridad. Por lo tanto, Composer ayuda también a los proyectos PHP a mantenerse con un estado de mayor seguridad.
- Otra de las ventajas de Composer es su autocarga de clases. Gracias a esta utilidad podemos usar una clase de cualquiera de las librerías instaladas sin necesidad de hacer un include, lo que ayuda mucho en el código. Usar includes o requieres para traerte todo el código de tus dependencias sería una locura.
- En el paso a producción Composer nos ayuda mucho, ya que no hace falta que se suba todo el código de terceros al servidor. Realmente subimos aquel código que nos pertenece y con Composer se instalan automáticamente las dependencias.
- También nos ayuda a mantener una consistencia entre las versiones de los ordenadores de desarrollo y las versiones instaladas en el servidor de producción, así como en los ordenadores de otros desarrolladores.
- Con composer también podemos instalar en el servidor de producción solamente las librerías que realmente necesitamos, dejando de instalar todas aquellas librerías que solo se necesitan para la etapa de desarrollo.
- Permite flujos de desarrollo de integración continua y tests unitarios, ya que todas las operaciones se realizan con consola y pueden estar automatizadas.
Además de todos los motivos anteriores, muchas veces usar Composer o no usarlo ni siquiera es una elección, ya que muchas herramientas de desarrollo de PHP requieren composer para funcionar. Por ejemplo los frameworks requieren Composer para poder instalarlos y para poder actualizarlos.
En fin, que usar Composer es una necesidad en el desarrollo moderno con PHP.
Instalar Composer
Antes de instalar debemos verificar que tenemos PHP en nuestro ordenador. La versión mínima necesaria es PHP 5.3.2, aunque obviamente, a estas alturas lo normal es que tengas PHP 7.4 en adelante, porque si no estarías usando un PHP muy antiguo ya sin soporte.
Composer es muy sencillo de instalar. Primero debemos disponer de PHP en nuestro sistema, que lo puedes conseguir mediante cualquiera de las formas habituales de instalar PHP. Luego se trata de instalar Composer en si.
- Si estas en Windows tienes un instalador. Descargas el ejecutable de instalación y lo ejecutas.
- Si estás en Linux o Mac tienes una serie de comandos que tienes que lanzar desde el terminal, que encuentras en la página de Downloads de Composer.
La mayor dificultad que podemos encontrar, en alguna ocasión, es asegurarnos de que el ejecutable de composer luego esté en un camino desde el cual podamos usar Composer desde cualquier carpeta del terminal. En el artículo de Instalación de Composer puedes encontrar todos los detalles y consejos.
Usar Composer
Dependiendo de lo que necesites hacer Composer lo usarás de una manera o de otra, ya que con composer puedes hacer muchas cosas, no solamente gestionar las dependencias de un proyecto.
Generalmente, cada vez que necestes usar Composer para algo te dirán los comandos que necesitas ejecutar, ya sea instalar una dependencia en un proyecto o usar Composer para iniciar una aplicación con un framework PHP, por ejemplo.
Instalar dependencias con Composer
El tema de instalar las dependencias de aplicaciones es el trabajo más habitual que se realiza con composer. Para ello usamos el comando "composer require" y a continuación decimos el paquete que queremos instalar:
composer require monolog/monolog
La lista de paquetes instalables vía Composer la tienes en el sitio Packagist, pero generalmente para encontrar un paquete hacemos una búsqueda en Google, ya que a menudo nos llevará al paquete más usado para ese objetivo. Por ejemplo "php date time library" te llevará directamente a la librería "Carbon", que es la más popular para hacer tratamiento a fechas y horas en PHP.
Cada librería que puedes instalar vía Composer te dirá qué comando debes hacer para realizar incorporarla en el proyecto.
Incluir el autoload de Composer
Cuando quieras usar la librería dentro de una página PHP, tendrás que hacer el require del autoload de Composer, que se encarga de hacer la carga automática de todas las librerías que puedas haber instalado vía Composer.
<?php
require "./vendor/autoload.php";
?>
Tendrás que enlazar correctamente con la ruta exacta donde se encuentra el archivo autoload.php en el carpeta "vendor", que es la carpeta donde se incluyen todas las dependencias instaladas con Composer.
En esta página encuentras detallado el proceso de uso de Composer y la carga del archivo de autoload.
Crea artículos, recursos o comparte información sobre Composer
Temas relacionados
Preguntas y respuestas de Composer
Se han recibido 5 faqs en Composer