Heim Entwicklungswerkzeuge composer So optimieren Sie den Anbieter durch Composer in YII2

So optimieren Sie den Anbieter durch Composer in YII2

Aug 12, 2019 pm 02:16 PM
composer

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Beispiel für Laravel -Einführung Beispiel für Laravel -Einführung Apr 18, 2025 pm 12:45 PM

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.

Lösen Lösen Apr 18, 2025 am 09:24 AM

Bei der Entwicklung von Websites mit CraftCMS stoßen Sie häufig mit Ressourcendateiproblemen, insbesondere wenn Sie häufig CSS und JavaScript -Dateien aktualisieren, alte Versionen von Dateien möglicherweise weiterhin vom Browser zwischengespeichert. Dieses Problem wirkt sich nicht nur auf die Benutzererfahrung aus, sondern erhöht auch die Schwierigkeit der Entwicklung und des Debuggens. Kürzlich habe ich in meinem Projekt ähnliche Probleme gestoßen, und nach einigen Erkundungen fand ich das Plugin Wiejeben/Craft-Laravel-Mix, das mein Caching-Problem perfekt löste.

Verbesserung der Serialisierungseffizienz der Doktrin: Anwendung von Sidus/Doctrin-Serializer-Bundle Verbesserung der Serialisierungseffizienz der Doktrin: Anwendung von Sidus/Doctrin-Serializer-Bundle Apr 18, 2025 am 11:42 AM

Ich hatte ein schwieriges Problem, wenn ich an einem Projekt mit einer großen Anzahl von Leitungseinheiten arbeitete: Jedes Mal, wenn das Unternehmen serialisiert und deserialisiert wird, wird die Leistung sehr ineffizient, was zu einer signifikanten Zunahme der Systemantwortzeit führt. Ich habe mehrere Optimierungsmethoden ausprobiert, aber es funktioniert nicht gut. Glücklicherweise habe ich durch die Verwendung von Sidus/Doctrine-Serializer-Bunde dieses Problem erfolgreich gelöst und die Leistung des Projekts erheblich verbessert.

So vereinfachen Sie das E -Mail -Marketing mit Composer: Anwendungspraktiken von Duwa.io. So vereinfachen Sie das E -Mail -Marketing mit Composer: Anwendungspraktiken von Duwa.io. Apr 18, 2025 am 11:27 AM

Ich habe ein schwieriges Problem bei einer Mail -Marketing -Kampagne: So erstellen und senden Sie E -Mails im HTML -Format effizient. Der traditionelle Ansatz besteht darin, Code manuell zu schreiben und E-Mails mit einem SMTP-Server zu senden. Dies ist jedoch nicht nur zeitaufwändig, sondern auch fehleranfällige. Nachdem ich mehrere Lösungen ausprobiert hatte, entdeckte ich Duwa.io, eine einfache und benutzerfreundliche Wiederherstellung, die mir hilft, HTML-Mail schnell zu erstellen und zu senden. Um den Entwicklungsprozess weiter zu vereinfachen, habe ich beschlossen, Composer für die Installation und Verwaltung von Duwa.ios PHP -Bibliothek - Captaindoe/Duwa zu verwalten.

Laravel Framework Installationsmethode Laravel Framework Installationsmethode Apr 18, 2025 pm 12:54 PM

Artikelzusammenfassung: Dieser Artikel enthält detaillierte Schritt-für-Schritt-Anweisungen, um die Leser zu leiten, wie das Laravel-Framework einfach installiert werden kann. Laravel ist ein leistungsstarkes PHP -Framework, das den Entwicklungsprozess von Webanwendungen beschleunigt. Dieses Tutorial deckt den Installationsprozess von den Systemanforderungen bis zur Konfiguration von Datenbanken und das Einrichten von Routing ab. Durch die Ausführung dieser Schritte können die Leser schnell und effizient eine solide Grundlage für ihr Laravel -Projekt legen.

Wie sehe ich die Versionsnummer von Laravel an? So sehen Sie die Versionsnummer von Laravel Wie sehe ich die Versionsnummer von Laravel an? So sehen Sie die Versionsnummer von Laravel Apr 18, 2025 pm 01:00 PM

Das Laravel-Framework verfügt über integrierte Methoden, um die Versionsnummer einfach zu sehen, um die verschiedenen Anforderungen der Entwickler zu erfüllen. In diesem Artikel werden diese Methoden untersucht, einschließlich der Verwendung des Befehlszeilen -Tools des Composers, der Zugriff auf .Env -Dateien oder das Erhalten von Versionsinformationen über PHP -Code. Diese Methoden sind für die Aufrechterhaltung und Verwaltung der Versionierung von Laravel -Anwendungen von wesentlicher Bedeutung.

So erstellen Sie schnell Fecmall Advanced Project Templates mit Composer So erstellen Sie schnell Fecmall Advanced Project Templates mit Composer Apr 18, 2025 am 11:45 AM

Bei der Entwicklung einer E-Commerce-Plattform ist es entscheidend, das richtige Framework und Werkzeuge auszuwählen. Kürzlich, als ich versuchte, eine featurereiche E-Commerce-Website aufzubauen, stieß ich auf ein schwieriges Problem: wie ich schnell eine skalierbare und voll funktionsfähige E-Commerce-Plattform erstellen kann. Ich habe mehrere Lösungen ausprobiert und am Ende die erweiterte Projektvorlage von FecMall (FECMALL/FBBCBASE-APP-APMANCED) ausgewählt. Durch die Verwendung von Komponisten wird dieser Prozess sehr einfach und effizient. Komponist kann über die folgende Adresse gelernt werden: Lernadresse

Verwenden Sie den Komponisten, um das Dilemma von Empfehlungssystemen zu lösen: Andres-Montanez/Empfehlungen-Bundle Verwenden Sie den Komponisten, um das Dilemma von Empfehlungssystemen zu lösen: Andres-Montanez/Empfehlungen-Bundle Apr 18, 2025 am 11:48 AM

Bei der Entwicklung einer E-Commerce-Website habe ich auf ein schwieriges Problem gestoßen: So liefern Sie den Benutzern personalisierte Produktempfehlungen. Anfangs habe ich einige einfache Empfehlungsalgorithmen ausprobiert, aber die Ergebnisse waren nicht ideal und die Benutzerzufriedenheit war ebenfalls betroffen. Um die Genauigkeit und Effizienz des Empfehlungssystems zu verbessern, habe ich mich entschlossen, eine professionellere Lösung zu übernehmen. Schließlich habe ich Andres-Montanez/Empfehlungen durch den Komponisten installiert, was nicht nur mein Problem löste, sondern auch die Leistung des Empfehlungssystems erheblich verbesserte. Sie können Komponist über die folgende Adresse lernen:

See all articles