Le fichier composer.phar doit être présent à la racine du projet qu'il va gérer.
S'il n'est pas présent, on peut l'installer par la commande :
shell\mon_projet>curl -s http://getcomposer.org/installer | php
S'il est présent, on peut lancer une recherche pour obtenir sa dernière version stable :
shell\mon_projet>php composer.phar self-update
Ensuite, il faut créer un fichier composer.json qui va décrire le projet. On peut utiliser la commande :
shell\mon_projet>php composer.phar init
Cette commande va demander d'indiquer les renseignements décrivant le projet :
- package name : le nom se donne sous la forme <vendor>/<name> où <vendor> est le nom de votre organisation et <name> est le nom de votre projet
- description : description de votre projet
- author : votre nom et adresse email
- minimum stability : les valeurs possibles sont stable, RC, beta, alpha, dev
- license : nom de la licence indiquant les droits sur ce logiciel
- dependencies : indiquer ici les noms et versions des bibliothèques nécessaires au projet en production comme par exemple zendframework 2.3.* (require)
- dev dependencies : indiquer ici les noms et versions des bibliothèques nécessaires uniquement au développement comme par exemple zendframework/zftool ou bjyoungblood/bjy-profiler, etc. (require-dev)
Pour trouver plus facilement les bibliothèques (dependencies et dev dependencies), répondez yes à la question : Would you like to define your dependencies (require) interactively [yes]?
Ensuite, voici un exemple pour ajouter bjyoungblood/bjy-profiler
Search for a package []: bjyoungblood Found 9 packages matching bjyoungblood [0] bjyoungblood/BjyProfiler [1] bjyoungblood/bjy-authorize [2] bjyoungblood/bjy-profiler [3] saeven/circlical-acl-admin [4] bjyoungblood/bjy-cache-storage [5] bjyoungblood/bjy-modulus [6] shashikant/circlical-acl-admin [7] shashikant/circlical-acl-admin-1 [8] bjyoungblood/rpc-tester Enter package # to add, or the complete package name if it is not listed []: 2 Enter the version constraint to require []:dev-master
Puis on lance le téléchargement des bibliothèques indiquées par
shell\mon_projet>php composer.phar install
Par la suite, on peut rajouter une bibliothèque en lançant la commande :
shell\mon_projet>php composer.phar require [paquet1] ... [paquetN] ou shell\mon_projet>php composer.phar require --dev [paquet1] ... [paquetN]
où [paquet1] ... [paquetN] sont les noms des bibliothèques à installer séparés par un espace
et --dev indique qu'il faut ajouter la bibliothèque à la liste des dev dependencies
La mise à jour des bibliothèque se fait en lançant la commande :
shell\mon_projet>php composer.phar update