DRY (Don’t Repeat Yourself) est un principe des dévelppeurs. Il indique simplement qu’il ne faut pas réinventer la roue pendant que vous écrivez une application. Si vous avez écrit une application PHP plus tôt, vous constaterez que vous réinventez la roue encore et encore pour écrire le même processus, comme l’authentification utilisateur, la gestion de base de données, le service de messagerie, le système de validation, etc. Cependant, PHP est maintenant efficace et mature cadres en main qui peuvent exécuter presque tous les processus de base comme indiqué ci-dessus avec leur noyau. En fait, si vous êtes assez intelligent, alors seulement vous choisirez les composants d’autres frameworks comme Zend, Laravel, Symfony, etc. C’est la phase la plus mouvementée où vous devez conserver les dépendances des composants requis, sinon vous créera un énorme désordre.
Qu’est ce que c’est que Composer ?
Composer est un gestionnaire de dépendances pour PHP qui est utilisé pour réaliser toutes les tâches de sélection tout en maintenant les dépendances. Il est conçu de manière à extraire non seulement le composant ou le package requis dans votre application PHP. Il garde également la trace des dépendances de ces composants ou packages requis et crée la carte de classe pour les bibliothèques téléchargées.
Il se charge automatiquement une fois et devient disponible dans tout le système. Il suit le principe DRY. De cette façon, vous économisez votre temps précieux et votre code reste beau. C’est très utile si vous avez plus d’un développeur sur le projet.
Cette gestion des dépendances (ou Composer) pour un projet n’est pas nouvelle. Il est en fait inspiré de Bundler dans Rails ou NPM dans Node.js.
Notez que PEAR en PHP a également été utilisé à des fins de gestionnaire de packages, mais il est maintenant rejeté par de nombreux développeurs PHP ou communautés car une grande partie du code est obsolète et vous oblige à installer le package à l’échelle du système, pas projet par projet.
Conditions préalables
Pour les besoins de ce tutoriel, je suppose que vous avez une application Laravel installée sur un serveur Web. Ma configuration est:
- Laravel 5.5
- PHP 7.1
Install Composer
En utilisant la commande composer pour vérifier que le compositeur est installé ou pas déjà.
Exécuter cette commande dans votre console :
composer require barryvdh/laravel-debugbar --dev
- barryvdh est le nom du fournisseur
- Laravel-debugbar est le nom du paquet
Suivez les instructions tout en ajoutant le paquet de packagist pour l’installer correctement dans Laravel. Le résultat final de l’exécution doit être comme l’image ci-dessous.
Après l’utilisation de l’installation de composer, utilisez toujours la mise à jour de composer car l’installation de composer crée le fichier composer.lock contenant toutes les versions des bibliothèques exactes nécessaires pour exécuter le compositeur. Si vous utilisez l’installation de composer, il ignore composer.json et ne lit que le fichier composer.lock gelé.
L’installation de Composer ne fonctionnera que si vous supprimez le fichier composer.lock pour une raison quelconque. La mise à jour de Composer ignore le fichier composer.lock et télécharge les nouvelles bibliothèques ajoutées dans composer.json. Le fournisseur / package de mise à jour de Composer mettra à jour uniquement la bibliothèque donnée au lieu de toutes dans le fichier json.
Vous pouvez utiliser composer require pour trouver la bibliothèque requise et Composer mettra automatiquement à jour composer.json pour vous et exécutera la commande de mise à jour pour télécharger la bibliothèque. La chose intéressante est qu’il télécharge automatiquement le fichier dépendant nécessaire pour votre bibliothèque requise afin que vous puissiez l’utiliser sans aucune erreur de dépendance.
Vous vous demandez peut-être: comment Composer sait-il où télécharger le code simplement par le nom components / jquery?
Composer se connecte à un référentiel officiel nommé Packagist. Vous pouvez rechercher dans ce référentiel pour voir les bibliothèques disponibles pour la gestion via Composer. Vous pouvez même créer vos propres packages et les soumettre à Packagist pour les rendre disponibles à d’autres.
Pour supprimer un package ou un composant
Si vous souhaitez supprimer un package ou un composant, utilisez simplement le code suivant.
composer remove vendor/package