Composer, un administrateur pour installer des dépendances dans des projets PHP

Il ya quelques jours le lancement de la nouvelle version de Composer 2.0 a été annoncé, qui est un administrateur pour installer les dépendances dans les projets PHP.

Compositeur, se distingue pour permettre à l'utilisateur le déterminer les bibliothèques de fonctions requises pour que le projet fonctionne, après quoi il s'occupe du travail d'installation des dépendances manquantes et de mise à jour des nouvelles versions.

Les bibliothèques disponibles pour l'installation se trouvent dans le référentiel Packagist, qui contient plus de 287 XNUMX packages.

À propos de Composer

Composer se positionne comme un système d'installation de dépendances conçu avec les gestionnaires de packages npm et bundler à l'esprit dans les communautés Node.js et Ruby.

Le système exploite des packages en relation avec des projets spécifiques et il est conçu pour installer des dépendances sur des répertoires de projet locaux (en option, il existe également un mode d'installation global pour l'ensemble du système).

Par défaut, l'installation d'une bibliothèque stable est suggérée, mais il est également possible d'utiliser des mises à jour expérimentales (alpha / bêta) et des instantanés (instantanés de la base de code de développement), qui sont utiles pour organiser les versions de test sur des systèmes d'intégration continue.

Le code Composer est écrit en PHP et est distribué sous la licence MIT.

À propos de la nouvelle version de Composer 2.0

Dans la nouvelle version des optimisations majeures des performances ont été effectuées et la consommation de mémoire a été réduite. Beaucoup de choses ont été retravaillées, du protocole à l'appel packagist.org jusqu'aux méthodes de détermination des dépendances.

Le téléchargement est fourni dans divers flux de métadonnées et fichiers zip, plus le mode d'installation parallèle des packages a été implémenté. Des optimisations ont été ajoutées au code pour les calculs. En téléchargeant uniquement les métadonnées du package, les opérations d'exigence et / ou de suppression et les mises à jour partielles sont considérablement accélérées. Dans certains projets, une accélération allant jusqu'à 50% est observée.

Le mécanisme de mise à jour des dépendances a été retravaillé, qui est libre de liens avec l'état du répertoire sur le système de fichiers local. Une fois la mise à niveau terminée, le processus d'installation commence automatiquement par l'exécution préliminaire de toutes les opérations nécessitant un accès au réseau.

L'exécution des opérations réseau avant le début de l'installation proprement dite élimine l'apparition de répertoires mis à jour incomplètement en cas de défaillance du réseau pendant le processus d'installation. Dans la mesure du possible, les téléchargements réseau sont multithreads.

Par défaut, une étape supplémentaire de vérification de la plateforme est ajoutée au runtime lors de l'initialisation de vendor / autoload.php, qui vérifiez que la version et les extensions de PHP utilisé correspondent aux versions prises en charge dans les dépendances. En cas de divergence, une erreur s'affiche.

La validation est effectuée à l'aide de la nouvelle classe Composer \ InstalledVersions, qui est chargée pour chaque projet afin de déterminer les packages et les versions disponibles dans le projet.

En outre, il est mentionné que les messages d'erreur retravaillés liés aux problèmes de détection des dépendances. Ces messages sont plus courts, plus clairs et avec moins de doublons.

Pour limiter temporairement les versions pendant la mise à niveau, utilisez la construction «Fournisseur / package de mise à jour du compositeur: 1.0. * ", Ce qui ne changera pas le contenu du bloc dans" composer.json et ne marquera pas le fichier verrouillé comme obsolète.

Parmi les autres changements qui ressortent de cette nouvelle version:

  • Ajout de la prise en charge des mises à jour partielles limitées dans le temps, qui peuvent être utilisées lorsque vous devez temporairement mettre à jour ou restaurer une version d'un package pour tester ou attendre une correction de bogue. La suppression automatique des packages qui ne sont plus nécessaires a été implémentée.
  • Seules les nouvelles options, exclure et canonique ont été ajoutées au référentiel.
  • De nouveaux événements ont été ajoutés avant les opérations, l'exécution, la création de pré-groupe et le fichier post-téléchargement.
  • Un grand nombre de nouveaux drapeaux ont été ajoutés.

Enfin, si vous souhaitez en savoir plus sur cette nouvelle version, vous pouvez consulter les détails dans le lien suivant.

Par contre, si vous souhaitez consulter la documentation, vous pouvez le faire de ce lien.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.