Composer est un gestionnaire de dépendances multiplateforme pour PHP. Il vous permet de déclarer les bibliothèques dont dépend votre projet et il gère l’installation net les mises à jours pour vous. Composer permet aux développeurs de spécifier les dépendances du projet dans un fichier composer.json, puis Composer gère automatiquement le reste.
Supposons que vous travaillez sur un projet où vous êtes censé travailler avec un certain nombre de bibliothèques php différentes. Si vous n’utilisez pas Composer, vous devrez peut-être suivre la procédure suivante :
- Installer les bibliothèques manuellement
- Les mettre à jour manuellement en gardant un œil sur chaque dépendance et certaines d’entre elles dépendent d’autres bibliothèques.
- Cela crée beaucoup de problèmes parfois
Composer vous aidera à gérer facilement :
- L’installation des bibliothèques et verrouille leur version afin que vous ne puissiez pas les mettre à jour par erreur. Vous pouvez toujours les mettre à jour et il mettra également à jour les autres bibliothèques qui en dépendent.
- Il découvre quelles versions de quels paquets peuvent et doivent être installées, et les installe.
- Il vous aide à garder le répertoire vendor en dehors du projet en utilisant git afin que vous puissiez seulement pousser le code nécessaire dans le repo et réduire la taille du paquet pour votre projet
Installer composer
Installer composer sur Windows
Téléchargez et exécutez Composer-Setup.exe. Il installera la dernière version de Composer et configurera votre PATH afin que vous puissiez appeler Composer à partir de n’importe quel répertoire de votre ligne de commande.
Installer composer sur Mac OS
Pour installer Composer sur Mac OS, suivez les étapes ci-dessous :
Ouvrez votre fenêtre de terminal mac et exécutez les commandes suivantes :
# obtenir le fichier phar de composer
curl -sS https://getcomposer.org/installer | php
# maintenant nous déplaçons le fichier composer.phar vers un
# répertoire exécutable sudo mv composer.phar /usr/local/bin/
# nous devons permettre à notre ordinateur d'exécuter la commande
# composer globalement pour ce faire,
# nous devons ajouter une entrée dans notre fichier bash_profile
# ouvrir le fichier bash_profile en utilisant l'éditeur nano
nano ~/.bash_profile
# ajouter la ligne ci-dessous au bash_profile et sauvegarder en
# utilisant CMD + x + Entrer
alias composer="php /usr/local/bin/composer.phar"
# une fois le fichier sauvegardé, nous devons exécuter
# la commande suivante pour activer nos changements
source ~/.bash_profile
# enfin, composer est installé sur mac os et vous pouvez vérifier en
# utilisant l'une des les commandes suivantes
composer --version
composer --V
Installer composer sur Linux
Ouvrez une fenêtre de terminal linux et exécutez les commandes suivantes afin d’installer composer :
# mettre à jour le gestionnaire de paquets en premier
sudo apt-get update
# Assurez-vous que vous avez curl d'abord installé
# Si curl n'est pas installé, lancez la commande suivante
# pour installer curl sur votre système d'exploitation linux.
sudo apt-get install curl
# installer composer globalement
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
# vérifier l'installation de composer
composer -V
Comment fonctionne composer ?
Une fois que vous avez installé composer sur votre machine. Vous suivez simplement les étapes ci-dessous :
- créer un fichier composer.json
- ouvrez une fenêtre de terminal et dirigez-vous vers le dossier racine de votre projet
- exécutez la commande composer install cela va générer un dossier vendor avec toutes les dépendances de votre projet
- inclure la ligne suivante dans votre script php require_once « vendor/autoload.php ».
- Maintenant, vos dépendances seront chargées automatiquement. Vous n’avez pas besoin de les inclure manuellement.
Comment installer/mettre à jour une dépendance avec composer ?
Pour installer une nouvelle bibliothèque php ou un paquet, vous devez connaître les commandes suivantes :
# installer une nouvelle bibliothèque
composer require facebook/php-sdk
# mettre à jour tous les paquets sauf les dépendances de dev
composer update --no-dev
# installer tous les paquets sauf les dépendances de dev
composer install --no-dev
Comment ajouter le bloc auteur dans le fichier composer.json ?
Pour ajouter les auteurs de votre projet dans le fichier composer.json de composer, vous devez ajouter les lignes de code suivantes :
{
"authors": [
{
"role": "Developer",
"name": "Sandro Paerez",
"email": "sandro.perez@gekkode.com",
"homepage": "https://www.gekkode.com"
},
{
"role": "Developer",
"name": "John Doe",
"email": "john.doe@gekkode.com",
"homepage": "https://www.gekkode.com"
}
]
}
Comment ajouter des informations sur le support du projet dans le fichier composer.json ?
Pour ajouter des détails sur le projet ou des informations sur le support, vous devez ajouter le bloc de code suivant à votre fichier composer.json :
{
"support": {
"email": "support@example.org",
"irc": "ENTER_URL_HERE",
"wiki": "ENTER_URL_HERE",
"rss": "ENTER_URL_HERE",
"chat": "ENTER_URL_HERE",
"issues": "ENTER_URL_HERE",
"docs": "ENTER_URL_HERE",
"source": "ENTER_URL_HERE",
"forum": "ENTER_URL_HERE"
}
}
Comment installer une version spécifique d'un paquet en utilisant Composer ?
Voici quelques méthodes pour installer une version spécifique du paquet :
# Syntaxe - 1
composer require vendor/package version
# Syntaxe - 2
composer require vendor/package:version
# Examples
composer require vendor/package:2.0
composer require vendor/package 0.1
composer require vendor/package "^0.1"
composer require "vendor/package":"^1.5.0"
Comment supprimer les dépendances inutilisées de composer ?
Pour supprimer les dépendances inutilisées de votre projet existant, exécutez les commandes suivantes :
# Exemple 1
composer remove vendor/package
# Exemple 2
composer remove vendor/package --update-with-dependencies
Comment ajouter un paquet à partir d'un dépôt VCS ?
Pour ajouter un paquet à partir d’un dépôt vcs distant ou d’un dépôt privé, vous devez ajouter la ligne de code suivante à votre fichier composer.json :
{
"require": {
"user/repo": "dev-master"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/user/repo"
}
]
}
Comment ajouter un paquet local à l'aide avec composer ?
Pour ajouter un paquet local en utilisant composer, vous devez inclure le code suivant dans votre fichier composer.json :
{
"require": {
"my/package": "*"
},
"repositories": [
{
"type": "path",
"url": "../../packages/my-package",
"options": {
"symlink": true // désactivation de la mise en miroir
}
}
]
}
Comment obtenir la liste de tous les paquets installés avec le numéro de version ?
Pour lister tous les paquets installés dans un projet, exécutez les commandes suivantes :
# montrer les paquets installés globalement
composer global show -i -t
# montrer les paquets installés dans le projet
composer show -i -t
Comment déployer correctement composer dans un environnement prod ?
Suivez les étapes ci-dessous pour utiliser correctement composer dans votre environnement de production :
- Installez composer globalement en utilisant l’utilisateur sudo
- Ajouter le dossier vendor à votre fichier .gitignore
- Placez votre projet dans l’environnement de production
- Exécutez uniquement : composer install –no-dev
- n’utilisez jamais sudo devant une commande install ou update.
Comment utiliser le PSR4 Autoloading ?
PSR-4 est une recommandation acceptée qui décrit la norme pour l’auto-chargement des classes via les noms de fichiers. Pour ajouter l’espace de nom psr-4 dans votre répertoire de projet existant, utilisez la ligne de code suivante dans votre fichier composer.json :
{
"autoload": {
"psr-4": {
"App\\": "src/",
"Monolog\\": ["src/", "lib/"]
}
}
}
Le code ci-dessus fera en sorte que le répertoire src suive l’application comme espace de nom racine. Disons que vous avez la structure de répertoire suivante et l’espace de nom psr4 replacé :
src
|- Models
|- User.php -> namespace App/Models/User;
|- Role.php -> namespace App/Models/Role;
Comment inclure des fichiers globaux à l'aide de composer ?
Si vous devez exécuter certains fichiers à chaque demande, vous pouvez ajouter le code suivant à votre fichier composer.json :
{
"autoload": {
"files": [
"src/functions.php"
]
}
}
J’espère avoir couvert les scénarios les plus courants que la plupart des développeurs rencontrent. Merci d’avoir lu cet article.