Je suis en train de lire/apprendre sur Composer, le gestionnaire de paquets au niveau de l'application pour PHP.Les paquets PHP installés par Composer - devraient-ils être dans le contrôle de la source?
Dans cette blog post écrite par le plomb dev Jordi Boggiano, il écrit:
Composer sur les autres forces de la main vous de déclarer votre projet dépendances dans un endroit unique (composer.json à la racine) . Vous juste vérifier le code, installer les dépendances, et ils seront assis dans le répertoire du projet , ne dérange pas toute autre chose sur la machine. Une autre fonctionnalité connexe est le fichier composer.lock qui est généré lorsque vous installez ou mettez à jour des dépendances. Il stocke la version exacte de chaque dépendance qui a été utilisée. Si vous vous engagez il, quelqu'un vérifier le projet sera en mesure d'installer exactement les mêmes versions que vous avez fait lorsque vous dernière mise à jour ce fichier, ce qui évite les problèmes en raison de incompatibilités mineures ou régressions dans différentes versions d'une dépendance .
Si je comprends Composer bien, quand nous parlons de paquets téléchargés/installés par le compositeur, nous parlons de paquets de code PHP, à savoir code de programmation écrit en PHP, et non des paquets au niveau du système, par exemple, les extensions de l'environnement d'exécution PHP installé sur le serveur. Donc, une fois que ces paquets de code PHP ont été téléchargés et ajoutés à un projet PHP, j'aurais pensé que ces paquets deviendraient partie intégrante du code source de l'application PHP, par exemple pour être vérifiés sur n'importe quel système de contrôle de version. Si un autre développeur arrive et vérifie le code, pourquoi auraient-ils besoin de "installer les paquets", comme indiqué dans l'article du blog? N'obtiendraient-ils pas une copie de tous les paquets de code quand ils vérifient le code du contrôle de source? Cette ligne dans le billet de blog me trouble et me fait penser que je ne comprends pas Composer.
Toute précision sur ce point serait grandement appréciée. Merci.
Voir https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md. – localheinz