« Programmation PHP/Composer » : différence entre les versions
Page créée avec « <noinclude>{{Programmation PHP}}</noinclude> == Composer == {{w|Composer (logiciel)|Composer}} est un logiciel de gestion des bibliothèques PHP open source. Celles-ci so… » |
|||
Ligne 4 : | Ligne 4 : | ||
{{w|Composer (logiciel)|Composer}} est un logiciel de gestion des bibliothèques PHP open source. Celles-ci sont aussi accessibles sur https://packagist.org/. |
{{w|Composer (logiciel)|Composer}} est un logiciel de gestion des bibliothèques PHP open source. Celles-ci sont aussi accessibles sur https://packagist.org/. |
||
{{attention|clear=left|Il existe une syntaxe pour le nommage des bibliothèques sous peine de warnings lors des manipulations avec ''composer''. Elles doivent être de la forme ''vendor name/package name'', uniquement avec des caractères alphanumériques plus "-", "." ou "_". |
{{attention|clear=left|Il existe une syntaxe pour le nommage des bibliothèques sous peine de warnings lors des manipulations avec ''composer''. Elles doivent être de la forme ''vendor name/package name'', uniquement avec des caractères alphanumériques plus "-", "." ou "_".}} |
||
=== Installation === |
=== Installation === |
Version du 30 octobre 2019 à 18:08
Composer
Composer est un logiciel de gestion des bibliothèques PHP open source. Celles-ci sont aussi accessibles sur https://packagist.org/.
Il existe une syntaxe pour le nommage des bibliothèques sous peine de warnings lors des manipulations avec composer. Elles doivent être de la forme vendor name/package name, uniquement avec des caractères alphanumériques plus "-", "." ou "_".
Installation
Pour l'installer il y a trois solutions :
- Avec les commandes PHP décrites sur https://getcomposer.org/download/.
- En téléchargeant le package par navigateur à la même adresse.
- En le téléchargeant avec la commande cURL[1], comme le montre la vidéo suivante :
A la fin il faut juste disposer du fichier composer.phar.
Utilisation
Composer lit et modifie la liste des bibliothèques du projet dans composer.json.
Pour mettre à jour toutes les bibliothèques depuis le dossier du projet :
php composer.phar update
Pour installer un paquet, par exemple MediaWiki :
php composer.phar require mediawiki/semantic-media-wiki "1.9.*,>=1.9.0.1"
Si l'installation réussit, il ajoute le paquet dans composer.json. Il informe ensuite des problèmes de dépendances, par exemple si la version de PHP locale est inférieure à celle recommandée pour le paquet.
Pour ne mettre à jour qu'une seule bibliothèque (pour ne pas retester tout le projet) :
php composer.phar update mediawiki/semantic-media-wiki --with-dependencies
Il est aussi possible d'importer une branche particulière d'un dépôt git ainsi :
php composer.phar require vendor/repo:dev-branch_name
Si vous avez plusieurs version de PHP installées, il faut préciser laquelle exécute composer ainsi :
/usr/bin/php7.2 /usr/local/bin/composer install
composer.json
La syntaxe JSON de ce fichier contient quelques extensions[2] :
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. |
Stability Flag
Après la version à trois nombres, on peut suffixer un arobase puis un Stability Flag'[3]. Exemples :
@dev
@stable