Composer est un logiciel gestionnaire de dépendances libre écrit en PHP. Il permet à ses utilisateurs de déclarer et d'installer les bibliothèques dont le projet principal a besoin. Le développement a débuté en et a donné lieu à une première version sortie le . Développé au début par Nils Adermann et Jordi Boggianogetcomposer.org Site web de composer (qui continuent encore aujourd'hui à le maintenir), le projet est maintenant disponible sur la plateforme GitHubgithub.com/composer/composer Code source de composer sur GitHub. Il est ainsi développé par toute une communautégithub.com/composer/composer/graphs/contributors Liste des contributeurs sur GitHub.
Le logiciel Composer est à l’initiative d'un portage en PHP du logiciel Libzypp satsolver d'Open Suse.
Le logiciel Composer est fortement inspiré du logiciel npm pour Node.js et de bundler. pour Rubygetcomposer.org/doc/00-intro.md Site web de composer, page d'introduction.
Installation Le dépôt principal de Composer est le site web PackagistPackagist Packagist : Dépôt principal de Composer, qui permet notamment la recherche de bibliothèques et leur entreposage centralisé.
Le fichier binaire Composer est distribué sous la forme d'un lanceur, installable après un simple téléchargement.
Avec cURL $ curl -sS https://getcomposer.org/installer | php
Avec PHP $ php -r "readfile('https://getcomposer.org/installer');" | php
Fonctionnement Commandes Composer dispose de plusieurs paramètres dont. : require : ajoute la bibliothèque en paramètre au fichier composer.json et l'installe. install : installe toutes les bibliothèques du composer.json. Il s'agit de la commande à lancer pour installer les dépendances d'un dépôt PHP.. update : met à jour les bibliothèques du composer.json, selon les versions permises qui y sont mentionnées. remove : désinstalle une bibliothèque et la retire du composer.json.
Définition des bibliothèques Exemple du composer.json généré par la commande : composer require monolog/monolog
{ "require": { "monolog/monolog": "1.2.*"
Versions Les symboles permettant d'autoriser plusieurs versions des dépendances sont les suivants. :
Symbole Rôle (placé avant un numéro de version) Exemple >= permet d'en étendre le numéro. De même on trouve les symboles >, <, <=. "php": ">=5.5.9" inclut PHP 7. != exclut une version. - définit une plage de versions. ¦¦ ajoute des versions possibles. "symfony/symfony": "2.8 ¦¦ 3.0" regroupe uniquement ces deux versions. * étend à toutes les sous-versions. "symfony/symfony": "3.1.*" comprend la 3.1.1. ~ étend aux versions suivantes du même niveau. "doctrine/orm": "~2.5" concerne aussi la 2.6 mais pas la 2.4 ni la 3.0. ^ fait la même chose que tilde sous réserve qu'il y ait une compatibilité ascendante.
Références
Voir aussi
Articles connexes PEAR (alternative) Liens externes
Catégorie:Logiciel libre sous licence MIT Catégorie:Gestionnaire de paquets