« Programmation PHP/Composer » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 1 : | Ligne 1 : | ||
<noinclude>{{Programmation PHP}}</noinclude> |
<noinclude>{{Programmation PHP}}</noinclude> |
||
== Composer == |
== ''Composer'' == |
||
{{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 "_".}} |
||
Ligne 16 : | Ligne 16 : | ||
=== Utilisation === |
=== Utilisation === |
||
Composer lit et modifie la liste des bibliothèques du projet dans composer.json. |
''Composer'' lit et modifie la liste des bibliothèques du projet dans ''composer.json''. |
||
Pour installer un paquet, par exemple MediaWiki : |
Pour installer un paquet, par exemple MediaWiki : |
||
Ligne 25 : | Ligne 25 : | ||
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. |
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. |
||
Généralement quand on clone un projet git existant contenant un |
Généralement quand on clone un projet git existant contenant un ''composer.json'', il suffit ensuite pour le faire fonctionner, d'installer ses dépendances ainsi : |
||
<source lang=bash> |
<source lang=bash> |
||
composer install |
composer install |
||
Ligne 44 : | Ligne 44 : | ||
}} |
}} |
||
==== composer.json ==== |
==== ''composer.json'' ==== |
||
La syntaxe {{w|JSON}} de ce fichier contient quelques extensions<ref>https://getcomposer.org/doc/articles/versions.md</ref> : |
La syntaxe {{w|JSON}} de ce fichier contient quelques extensions<ref>https://getcomposer.org/doc/articles/versions.md</ref> : |
||
Version du 30 octobre 2019 à 23:29
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 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.
Généralement quand on clone un projet git existant contenant un composer.json, il suffit ensuite pour le faire fonctionner, d'installer ses dépendances ainsi :
composer install
Si plusieurs versions de PHP sont installées, il faut préciser laquelle exécute composer ainsi :
/usr/bin/php7.2 /usr/local/bin/composer install
Ne jamais lancer de composer update
sur un projet existant, sous peine de devoir tout retester. En effet, mieux vaut ne mettre à jour qu'une seule bibliothèque en précisant son nom :
php composer.phar update mediawiki/semantic-media-wiki --with-dependencies
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