Comment installer et utiliser Composer, le gestionnaire de dépendances de PHP –
Composer est le gestionnaire de dépendances incontournable de la communauté PHP. Il simplifie l’installation, la mise à jour et l’utilisation de packages tiers. Les packages peuvent être hébergés par des référentiels publics et privés, les projets les plus courants étant publiés sur Packagist.
Sommaire
Installation de Composer
Composer est un effort communautaire qui n’est pas fourni avec PHP. Il est distribué sous forme d’archive PHP PHAR à partir de getcomposer.org. Certaines distributions Linux incluent Composer dans leurs référentiels logiciels, mais l’installation de cette manière fournit généralement une version obsolète.
Assurez-vous que PHP est installé avant de continuer. PHP 5.3 est la plus ancienne version prise en charge au moment de la rédaction. Vous aurez également besoin git
et unzip
sur votre système si vous souhaitez installer des packages à partir des sources.
Composer fournit un script de configuration automatisé. Commencez par télécharger le programme d’installation dans votre répertoire de travail:
curl https://getcomposer.org/installer -o composer-setup.php
Vous devez maintenant vérifier le hachage de l’installateur pour vérifier qu’il n’a pas été falsifié. Consultez le site Web de Composer pour vérifier le dernier hachage et obtenir un exemple de code de vérification.
Ensuite, utilisez le script de configuration pour installer Composer:
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
Cela téléchargera Composer dans /usr/local/bin
, lui permettant de s’asseoir sur votre chemin aux côtés de vos autres exécutables. Essayez de courir composer
dans votre shell pour vérifier que tout fonctionne. La version Composer doit être affichée, suivie d’une liste des commandes Composer disponibles.
Pour mettre à jour Composer ultérieurement, exécutez composer self-update
. Cela remplacera automatiquement votre binaire Composer par la dernière version. Vous n’aurez pas besoin d’utiliser le composer-setup.php
script à nouveau afin que vous puissiez le supprimer maintenant.
Préparer votre projet
Vous devrez créer un composer.json
dans le répertoire de travail de votre projet avant de pouvoir commencer à utiliser Composer. Courir composer init
pour en créer un de manière interactive. Cela vous permettra de vous installer avec une configuration de base.
Suivez les invites de la ligne de commande pour fournir des informations sur votre projet, telles que son nom, sa description et les détails de l’auteur. Les noms de package utilisent le vendor/package
syntaxe pour éviter les conflits entre auteurs dans les référentiels publics. Vous devez utiliser votre nom d’utilisateur Packagist comme vendor
composant.
La plupart des clés composer.json
sont facultatifs, sauf si vous avez l’intention de publier votre base de code sur Packagist. Vous pouvez trouver une description complète de la structure du fichier sur le site de documentation de Composer.
Installer des packages
Vous pouvez ajouter des packages à votre projet en utilisant le composer require
commander:
composer require vendor/package
Recherchez les packages à installer à l’aide du site Web Packagist. Ils seront ajoutés au require
section de votre projet composer.json
fichier. Une fois installé, la source du paquet va dans le vendor
dossier dans votre projet.
Composer s’appuie sur la gestion des versions sémantique pour gérer les mises à jour des packages. La version exacte de chaque package que vous avez installé est écrite dans composer.lock
dans le répertoire de votre projet. Cela permet à Composer d’identifier le package spécifique à installer lorsque composer.json
indique qu’une gamme de versions est acceptable.
Vous devriez engager les deux composer.json
et composer.lock
à votre contrôle de source. D’autres développeurs travaillant sur votre projet peuvent alors exécuter composer install
pour acquérir toutes les dépendances que vous avez définies.
Les packages tels que les exécuteurs de test peuvent être marqués comme dépendances de développement en fournissant le --dev
drapeau à la require
commander. Ils seront séparés en un require-dev
section dans composer.json
. Lors de l’installation de vos packages, utilisez composer install --no-dev
pour exclure les dépendances de développement. Ceci est utile lors de l’utilisation de Composer dans des scripts de déploiement et des systèmes CI.
Mettre à jour des packages
Vous devriez essayer de garder vos paquets à jour afin de ne pas manquer la sécurité et les corrections de bogues. Exécutez le composer outdated
pour voir une liste de dépendances dans `composer.json` qui ont de nouvelles versions disponibles.
Pour appliquer les mises à jour, exécutez composer update
. Cela respectera le versionnage sémantique et affichera la dernière version de chaque package, dans les limites des contraintes de version spécifiées par votre composer.json
. Un colis marqué comme ^1.2
mettra à jour vers 1.2.x ou 1.3.x mais pas 2.0. La documentation de Composer comprend des informations détaillées sur la manière dont l’outil résout différentes formes de contrainte de version.
La mise à jour d’un package réécrira automatiquement votre composer.lock
fichier pour spécifier la nouvelle version. Les autres développeurs travaillant sur votre projet peuvent réexécuter composer install
pour obtenir les packages exacts que vous utilisez.
Le chargeur automatique du compositeur
Le chargement automatique est le mécanisme préféré pour découvrir les fichiers source dans PHP. Composer a un support de première classe pour le chargement automatique; la plupart du temps, son chargeur automatique sera le seul fichier dont vous aurez besoin require_once()
au sein de votre projet.
Lorsque vous installez les dépendances, Composer écrit automatiquement un chargeur automatique sur vendor/autoload.php
. Les packages spécifient comment ils doivent être chargés automatiquement à l’aide du autoload
champ dans composer.json
. Vous devez configurer cela pour votre propre projet afin que Composer puisse également charger automatiquement ses fichiers:
{ "autoload": { "psr-4": { "ExampleProject\": "src/" } } }
L’extrait de code ci-dessus configurera le chargement automatique de votre projet en utilisant la norme PSR-4. Les ressources Codebase dans le ExampleProject
l’espace de noms sera mappé aux fichiers dans le src
répertoire – par exemple, use ExampleProjectExampleClassesMyClass
sera automatiquement require_once("src/ExampleProject/ExampleClasses/MyClass.php")
.
Le seul fichier dont vous aurez besoin manuellement require_once()
est l’autochargeur lui-même:
require_once(__DIR__ . "/vendor/autoload.php");
Vous devez ajouter la ligne le plus tôt possible dans votre application. Cela garantira que le chargement automatique est activé avant de commencer à consommer des classes et des interfaces dans votre base de code.
Parfois, vous devrez peut-être forcer la régénération de l’autochargeur. Ce sera souvent parce que vous avez mis à jour votre projet autoload
configuration. Tu peux courir composer dump-autoload
pour écrire un nouveau chargeur automatique à la demande.
Sommaire
Composer simplifie le développement PHP en fournissant le gestionnaire de dépendances absent du langage de base. En utilisant Composer, vous pouvez facilement incorporer du code tiers dans vos projets, sans avoir à télécharger manuellement les fichiers sources et à les maintenir à jour.
Le chargeur automatique intégré de Compositeur vous permet d’accéder aux packages installés sans aucun travail supplémentaire de votre part. L’outil comprend également un exécuteur de script qui vous permet d’exécuter des tâches dans votre base de code en ajoutant des commandes au scripts
bloquer composer.json
. Utilisation composer run my-script
pour exécuter le script.