So optimieren Sie den Anbieter durch Composer in YII2

藏色散人
Freigeben: 2019-08-21 14:53:32
nach vorne
2501 Leute haben es durchsucht

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!

So optimieren Sie den Anbieter durch Composer in YII2

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

So optimieren Sie den Anbieter durch Composer in YII2

So optimieren Sie den Anbieter durch Composer in YII2

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
Nach dem Login kopieren

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

So optimieren Sie den Anbieter durch Composer in YII2

'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',
Nach dem Login kopieren

Zweites Bild

So optimieren Sie den Anbieter durch Composer in YII2

'vendorPath' => dirname(dirname(dirname(__DIR__))) . '/vendor',
Nach dem Login kopieren

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
Nach dem Login kopieren

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 Spalte

Grafik-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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!