Ich fange gerade mit Komponist an. Ich möchte sicherstellen, dass ich richtig verstehe, was Composer macht, wenn es Pakete von Packagist mit den Standardeinstellungen von Composer herunterlädt und installiert. Ist das richtig:Komponist: Was ist der Unterschied zwischen Require und Autoloader?
- Die „Require“ -Abschnitt der
composer.json
Datei gibt die Pakete, die heruntergeladen und installiert von Packagist.Nur die im Abschnitt "Require" aufgeführten Pakete werden heruntergeladen und installiert. - Während des Download- und Installationsprozesses in Schritt # 1 wird eine
autoload_namespaces.php
Datei im Standardordnervendor
erstellt (der während des Herunterladens und der Installation im Stammverzeichnis des Projekts erstellt wird). Diese Datei enthält eine Namespacedefinition für jedes heruntergeladene und installierte Paket, das einem Ordner im Dateisystem zugeordnet ist. - Die Klassen in den in Schritt 1 heruntergeladenen Dateien sind nur über
autoload_namespaces.php's
Namespaces zugänglich, WENN JEDE HERUNTERGELADENE DATEI EINE NAMESPACE DEFINITION ENTHÄLT DAS PASSIERT EINES VONautoload_namespaces.php's
NAMESPACES. Wenn in einer heruntergeladenen Datei keine Namespacedefinition vorhanden ist, werden die Klassen in der Datei dem GLOBAL-Namespace zugewiesen. - Der „Autoloader“ -Abschnitt der composer.json Datei wird nur verwendet, benutzerdefinierte Namespaces und Karte der benutzerdefinierten Namespaces in einen Ordner auf dem Dateisystem zu definieren. Heruntergeladen und installiert Paket Namespaces sind nur im
autoload_namespaces.php
Datei und nicht in irgendeiner Weise durch die „Autoloader“ SECTIONcomposer.json
BETROFFEN, vorausgesetzt, dass ein Namespace IN DEMautoload_namespaces.php
Datei nicht im dupliziert definiertcomposer.json
"Autoloader" ABSCHNITT.
Ist mein Verständnis über die oben genannten Punkte in Ordnung? Wenn nicht, würdest du mich bitte korrigieren?
Dank im Voraus -
Vielen Dank, dass Sie sich die Zeit genommen haben, mich aufzuklären, was ich an Composer vermisst habe! Ich werde diese Frage noch ein paar Tage geben. Ich vermute jedoch, dass ich Ihre Antwort als bevorzugte Antwort auswählen werde. –
Danke nochmal @Sven für die Antwort. Es war sehr hilfreich! –