« Programmation PHP/Composer » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
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/.

Logo

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

Logo

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
  1. https://curl.haxx.se/download.html
  2. https://getcomposer.org/doc/articles/versions.md
  3. https://igor.io/2013/02/07/composer-stability-flags.html