Agence web » Actualités du digital » Comment installer et utiliser Composer, le gestionnaire de dépendances de PHP –

Comment installer et utiliser Composer, le gestionnaire de dépendances de PHP –

Logo 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.

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.

Capture d'écran de la sortie d'aide de Compositeur

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.

Capture d'écran de la commande init Composer

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.

Capture d'écran d'un fichier Composer.json

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.