In der folgenden Spalte des Tutorials zur Composer-Nutzung wird vorgestellt, wie YII2 Anbieter durch Composer optimiert. Ich hoffe, dass es für Freunde in Not hilfreich sein wird!
In diesem Artikel werden die Probleme besprochen, die bei der Installation des Yii2-Frameworks und der Optimierung von Vendor über das Composer-Tool auftreten. Es wird vereinbart, dass der Leser über ein gewisses Verständnis der Grundlagen verfügt Prinzipien des Komponisten und verfügt über praktische Erfahrung bei der Installation des Yii2-Frameworks.
In der Yii2-Community stoßen wir häufig auf ein Problem dieser Art, nämlich nach der Installation der offiziell empfohlenen Version
1 Warum gibt es keinen Herstellerordner?
In Yii2 ist Vendor eine vom Composer heruntergeladene abhängige Bibliotheksdatei. Der offizielle Projektvorlagencode verfügt nur über eine eigene Projektdatei, und das Yii-Framework und andere Klassenbibliotheken, von denen es abhängt, sind alle in Composer.json aufgezeichnet. Installieren Sie einfach Composer und installieren oder aktualisieren Sie es dann.
2 In dem Yii2-Projekt, das ich selbst installiert habe, sind die Pakete des Anbieters nicht in Composer.json zu finden, und die meisten dieser Pakete werden vorerst nicht benötigt. Wie kann ich sie entfernen und behalten? Anbieter minimiert?
Verifiziertes Szenario
2.1 Verwenden Sie Composer Remove, um das Paket zu löschen
Das gelöschte Paket muss in Composer.json im Vendor-Ordner aufgezeichnet und nach dem Löschen des Pakets gelöscht werden Gleichzeitig werden alle Pakete neu installiert.
2.2 Verwenden Sie Composer Update --no-dev, um das Paket zu löschen.
Das Paket im Entwicklungsmodus wird direkt gelöscht. Führen Sie das Projekt nach dem Löschen aus und es wird direkt ein Fehler gemeldet. Daher können nicht alle Pakete im Entwicklungsmodus gelöscht werden
2.3 Verwenden Sie „remove codeception/verify“, um die meisten Pakete im Testmodus zu löschen Laut meiner früheren Entwicklungserfahrung werden Komponenten im Zusammenhang mit Unit-Tests nicht verwendet, sodass Sie den Befehl „remove codeception/verify“ verwenden können, um das Yii2-Composer-Paket zu optimieren. Dieser Befehl ist ein wichtiger Bestandteil der Optimierung des Composer-Pakets.
3 Wenn sich mehrere Projekte unter einem Projekt befinden, kommt es dann zu Ladeleistungsproblemen, wenn zu viele Composer-Pakete zum ersten Mal geladen werden? Kann das integrierte verzögerte Laden dieses Problem lösen?
Komponenten, die für das Projekt offensichtlich nicht erforderlich sind, können direkt entfernt werden. Was die Auswirkungen auf die Leistung betrifft, sind wir bisher nicht darauf gestoßen. Lazy Loading gilt als Optimierung auf Framework-Ebene, und ich glaube an seine Fähigkeit
4 Meldung, dass Verzeichnis oder Datei nicht vorhanden sind, verursacht durch ein Problem mit dem Anbieterpfad
Angenommen, unser Projektpfad ist E :sourcestemplates
Wenn ein Problem mit dem Vendor-Pfad auftritt, treten die folgenden ähnlichen Probleme auf, das heißt, ein bestimmtes Composer-Paket existiert nicht
Invalid Parameter – yiibaseInvalidParamException The file or directory to be published does not exist: E:sourcestemplatesbackendvendorbower-asset/jquery/dist
Das Fehlen des Dateipakets ist einfach Ein Symptom ist, dass der Herstellerpfad und die Projektkonfigurationsdatei nicht übereinstimmen.
Unter der Hauptkonfigurationsdatei main.php des Projekts befindet sich der Konfigurationseintrag für Vendor, der spezifische Wert von VendorPath, der mit dem Pfad der Konfigurationsdatei kombiniert werden muss, siehe die folgenden beiden Bilder und zugehörige Pfadkonfiguration
Erstes Bild
'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
Zweites Bild
'vendorPath' => dirname(dirname(dirname(__DIR__))) . '/vendor',
Zusammenfassung :
Bei der Verwendung von Compser müssen wir die folgenden drei Probleme berücksichtigen
1 Der Unterschied zwischen Composer-Installation und Composer-Update
2 Composer-Versionsverwaltung und -stabilität
3 Öffentlich So geben Sie Komponenten in Form von Composer-Paketen aus
Die Unterschiede zwischen den folgenden Befehlen finden Sie in den Netzwerkinformationen
composer install
Häufig verwendeter Befehl. Composer lädt das Paket basierend auf dem lokalen Composer.json-Installationspaket herunter und legt die Paketversionsinformationen während der Installation in Composer.lock ab, um die Version zu sperren
Wenn während der Installation festgestellt wird, dass die Version von Composer.lock mit der aktuellen Version übereinstimmt, führt Composer nichts aus. Der Zweck von Composer.lock besteht darin Ermöglicht Ihnen, in der aktuellen Version zu arbeiten, ohne die neueste Version des Pakets zu erhalten. Die Paketversion in der .lock-Datei wird aktualisiert und die in Composer.json aufgezeichneten Pakete werden auf die aktualisiert letzte. Der Composer-Update-Befehl sollte mit Vorsicht verwendet werden. Wenn die Komponente mithilfe von Composer in das Projekt referenziert wurde und zu einer öffentlichen Komponente wird, müssen Composer-Befehle mit Vorsicht verwendet werden. Natürlich muss eine dedizierte Person für die Wartung verantwortlich sein und muss nicht freigegeben werden Betriebsberechtigungen. Weitere Tutorials zur Verwendung von Composer finden Sie in der SpalteGrafik-Tutorial zur Verwendung von Composer-Befehlen
!Das obige ist der detaillierte Inhalt vonSo optimieren Sie den Anbieter durch Composer in YII2. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!