Composer | ||
---|---|---|
Información general | ||
Tipo de programa | Sistema de gestión de paquetes | |
Desarrollador |
Nils Adermann, Jordi Boggiano | |
Lanzamiento inicial | 03 de enero de 2012[1] | |
Licencia | Licencia MIT | |
Estado actual | Activo | |
Información técnica | ||
Programado en | PHP | |
Versiones | ||
Última versión estable | 2.6.6 ( 08 de diciembre de 2023 (11 meses y 10 días)[2]) | |
Enlaces | ||
Composer es un sistema de gestión de paquetes para programar en PHP el cual provee los formatos estándar necesarios para manejar dependencias y librerías de PHP. Fue desarrollado por Nils Adermann y Jordi Boggiano quienes continúan dirigiendo el proyecto. Ambos comenzaron el desarrollo en abril de 2011 y en marzo de 2012 presentaron la primera versión.[1] Composer está inspirado en Node.js, npm y en Bundler Ruby.[3]
Composer trabaja e instala dependencias o librerías desde la línea de comandos. También permite al usuario instalar las aplicaciones PHP que estén disponibles en el "Packagist",[4] el repositorio principal que contiene todos los paquetes disponibles. También dispone de capacidad de auto-descarga para las librerías necesarias que se especifiquen en la información de arranque para así facilitar el uso del código de terceros.
Composer ofrece varios parámetros incluyendo :[5]
require
: añade el parámetro de la librería al archivo composer.json y lo instala.install
: instala todas las librerías de composer.json. Es el comando que se usa para descargar todas las dependencias PHP desde el repositorio.update
: actualiza las librerías de composer.json de acuerdo a las versiones permitidas que se señalen.remove
: desinstala una librería y la elimina de 'composer.json'.Ejemplo de composer.json generado por el comando siguiente:
composer require monolog/monolog
{
"require": {
"monolog/monolog": "1.2.*"
}
}
Las diferentes versiones autorizadas de las librerías se definen como sigue:[6]
Símbolo | Función (colocado antes del número de versión) | Ejemplo |
---|---|---|
>= | permite extender el número. Además podemos usar: >, <, <=. | "php": ">=5.5.9" includes PHP 7.
|
!= | excluye una versión. | |
- | define un rango de versiones. | |
¦¦ | añade posibles versiones. | "symfony/symfony": "2.8 ¦¦ 3.0" regroups only these two versions.
|
* | extiende a todas las sub-versiones. | "symfony/symfony": "3.1.*" includes the 3.1.1.
|
~ | extiende a la siguiente versión del mismo nivel. | "doctrine/orm": "~2.5" also concerns the 2.6, but neither the 2.4 nor the 3.0.
|
^ | solo si existe compatibilidad con anteriores versiones. |