Tipus | gestor de paquets a nivell d'aplicació |
---|---|
Versió inicial | 1r març 2012 |
Versió estable | |
Llicència | llicència MIT |
Característiques tècniques | |
Sistema operatiu | multiplataforma |
Escrit en | PHP |
Més informació | |
Lloc web | getcomposer.org (anglès) |
Stack Exchange | Etiqueta |
| |
Composer és un gestor de paquets per al llenguatge de programació PHP que proporciona un format estàndard per gestionar les dependències de programari les biblioteques requerides escrits en PHP. Va ser desenvolupat per Nils Adermann i Jordi Boggiano, que continuen gestionant el projecte. Va començar a desenvolupar-se l'abril de 2011 i es va publicar per primera vegada el primer de març de 2012.[1] Composer està molt inspirat en els gestors de dependències npm de Node.js i bundler del llenguatge de programació Ruby.[2] L’algorisme de resolució de dependències de Composer va iniciar-se com una traducció a PHP del libzypp d'OpenSUSE, basat en un algorisme de solució de SAT.[3]
Composer s'executa des de la línia de comandes i instal·la dependències (p. ex. biblioteques, libraries en anglès) per a una aplicació. També permet als usuaris instal·lar aplicacions de PHP estan disponibles a "Packagist", que és l'arxiu més gros de paquets.[4] També proporciona capacitats d'autoload per a biblioteques que han especificat com s'han d'autocarregar per fer més fàcil l'ús de codi de tercers.
Composer disposa de diversos paràmetres, entre els quals:[5]
require
: afegeix la biblioteca al paràmetre require
al fitxer composer.json i l'instal·la.install
: instal·la totes les biblioteques que hi ha al composer.json. És la comanda que s'utilitza per descarregar totes les dependències de PHP establertes en el fitxer.update
: actualitza totes les biblioteques del composer.json, d'acord amb les versions permeses que s'indiquen en el fitxer.remove
: desinstal·la una biblioteca i l'elimina del composer.json.Exemple de composer.json generat per la comanda següent:
composer require monolog/monolog
{
"require": {
"monolog/monolog": "1.2.*"
}
}
La manera d'indicar quines versions d'una biblioteca estan autoritzades és la següent:[6]
Símbol | Rol (ubicat abans d'un número de versió) | Exemple |
---|---|---|
>= | permet actualitzar a una versió posterior. A més, es pot fer servir: >, <, <=. | "php": ">=5.5.9" inclou PHP 7.
|
!= | exclou una versió. | |
- | defineix interval de versions. | |
¦¦ | afegir possibles versions. | "symfony/symfony": "2.8 ¦¦ 3.0" permet només aquestes dues versions.
|
* | s'estén a totes les subversions. | "symfony/symfony": "3.1.*" inclou el 3.1.1.
|
~ | s'estén a les següents versions del mateix nivell. | "doctrine/orm": "~2.5" també es refereix al 2.6, però ni al 2.4 ni al 3.0.
|
^ | igual que l'anterior, només si hi ha una retrocompatibilitat. |