5 Composer-Tipps, die PHP-Entwickler kennen sollten
Composer ist eine neue Generation von PHP-Abhängigkeitsmanagement-Tools. In diesem Artikel werden fünf Tipps für die Verwendung von Composer vorgestellt, um Ihre PHP-Entwicklung komfortabler zu gestalten.
1. Nur eine einzelne Bibliothek aktualisieren
Sie möchten nur eine bestimmte Bibliothek aktualisieren und nicht alle ihre Abhängigkeiten aktualisieren
composer update foo/bar
Darüber hinaus lässt sich mit diesem Trick auch das „Warnmeldungsproblem“ lösen. Sie müssen Warnmeldungen wie diese gesehen haben:
Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them.
Was ist schief gelaufen? Keine Panik! Wenn Sie „composer.json“ bearbeiten, sollten Sie so etwas sehen. Wenn Sie beispielsweise Details wie eine Bibliotheksbeschreibung, einen Autor, weitere Parameter oder auch nur ein Leerzeichen hinzufügen oder aktualisieren, ändert sich dadurch die MD5-Summe der Datei. Dann warnt Sie Composer, dass sich der Hash-Wert von dem in Composer.lock aufgezeichneten unterscheidet.
Was sollen wir also tun? Der Update-Befehl kann die Sperrdatei aktualisieren, aber wenn er nur einige Beschreibungen hinzufügt, sollte er keine Bibliotheken aktualisieren. In diesem Fall aktualisieren Sie einfach nichts:
$ composer update nothing Loading composer repositories with package information Updating dependencies Nothing to install or update Writing lock file Generating autoload files
Auf diese Weise aktualisiert Composer nicht die Bibliothek, sondern Composer.lock. Beachten Sie, dass „nothing“ kein Schlüsselwort im Update-Befehl ist. Es gibt einfach nichts, was dieses Paket verursacht. Wenn Sie foobar eingeben, ist das Ergebnis dasselbe.
Wenn die von Ihnen verwendete Composer-Version neu genug ist, können Sie die Option --lock direkt verwenden:
composer update --lock
2. Installieren Sie die Bibliothek, ohne Composer.json zu bearbeiten
Möglicherweise ist es für Sie zu mühsam, „composer.json“ jedes Mal zu ändern, wenn Sie eine Bibliothek installieren, sodass Sie den Befehl „require“ direkt verwenden können.
composer require "foo/bar:1.0.0"
Diese Methode kann auch verwendet werden, um schnell ein neues Projekt zu öffnen. Der Befehl „init“ verfügt über die Option „--require“, mit der „composer.json“ automatisch geschrieben werden kann: (Beachten Sie, dass wir „-n“ verwenden, damit wir die Frage nicht beantworten müssen)
$ composer init --require=foo/bar:1.0.0 -n $ cat composer.json { "require": { "foo/bar": "1.0.0" } }
3. Die Ableitung ist einfach
Haben Sie bei der Initialisierung den Befehl „create-project“ ausprobiert?
composer create-project doctrine/orm path 2.2.0
Dadurch wird das Repository automatisch geklont und die angegebene Version ausgecheckt. Dieser Befehl ist beim Klonen einer Bibliothek sehr praktisch, da nicht nach dem Original-URI gesucht werden muss.
4. Erwägen Sie das Caching, geben Sie den Dist-Paketen Vorrang.
Composer aus dem letzten Jahr archiviert automatisch das von Ihnen heruntergeladene Dist-Paket. Standardmäßig wird das dist-Paket für getaggte Versionen wie „symfony/symfony“: „v2.1.4“ oder Platzhalter oder Versionsbereiche „2.1.*“ oder „>=2.2,<2.3-dev“ verwendet. (wenn Sie „stable“ als Mindeststabilität verwenden).
Das dist-Paket kann auch für Zweige wie dev-master verwendet werden, mit dem Sie das komprimierte Paket einer bestimmten Git-Referenz herunterladen können. Um die Verwendung eines Tarballs zu erzwingen, anstatt den Quellcode zu klonen, können Sie die Option --prefer-dist von install und update verwenden.
Hier ist ein Beispiel (ich habe die Option --profile verwendet, um die Ausführungszeit anzuzeigen):
$ composer init --require="twig/twig:1.*" -n --profile Memory usage: 3.94MB (peak: 4.08MB), time: 0s $ composer install --profile Loading composer repositories with package information Installing dependencies - Installing twig/twig (v1.12.2) Downloading: 100% Writing lock file Generating autoload files Memory usage: 10.13MB (peak: 12.65MB), time: 4.71s $ rm -rf vendor $ composer install --profile Loading composer repositories with package information Installing dependencies from lock file - Installing twig/twig (v1.12.2) Loading from cache Generating autoload files Memory usage: 4.96MB (peak: 5.57MB), time: 0.45s
Hier wird das komprimierte Paket von twig/twig:1.12.2 in ~/ gespeichert. Composer /cache/files/twig/twig/1.12.2.0-v1.12.2.zip. Verwenden Sie es direkt bei der Neuinstallation des Pakets.
5. Wenn Sie zuerst den Quellcode ändern möchten
Wenn Sie die Bibliothek ändern müssen, ist das Klonen des Quellcodes bequemer als das Herunterladen des Pakets. Sie können --prefer-source verwenden, um die Auswahl des Klon-Quellcodes zu erzwingen.
composer update symfony/yaml --prefer-source
Als Nächstes können Sie die Datei ändern:
composer status -v You have changes in the following dependencies: /path/to/app/vendor/symfony/yaml/Symfony/Component/Yaml: M Dumper.php
Wenn Sie versuchen, eine geänderte Bibliothek zu aktualisieren, werden Sie von Composer daran erinnert und gefragt, ob Sie die Änderung abbrechen möchten:
$ composer update Loading composer repositories with package information Updating dependencies - Updating symfony/symfony v2.2.0 (v2.2.0- => v2.2.0) The package has modified files: M Dumper.php Discard changes [y,n,v,s,?]?
Bereiten Sie vor für die Produktionsumgebung
Abschließend vergessen Sie beim Bereitstellen von Code in der Produktionsumgebung nicht, das automatische Laden zu optimieren:
composer dump-autoload --optimize
Sie können bei der Installation des Paket-Autoloaders auch --optimize- verwenden. Ohne diese Option kann es zu einem Leistungsverlust von 20 bis 25 % kommen.
Weitere technische Artikel zum Thema Komponisten finden Sie in der Spalte Komponist: https://www.php.cn/tool/composer/
Das obige ist der detaillierte Inhalt von5 Composer-Tipps, die PHP-Entwickler kennen sollten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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.

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.

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.

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

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:

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.

Bei der Entwicklung einer Laravel -Anwendung habe ich auf ein gemeinsames, aber schwieriges Problem gestoßen: wie die Sicherheit von Benutzerkonten verbessert werden kann. Mit der zunehmenden Komplexität von Cyber -Angriffen reicht ein einzelner Kennwortschutz nicht mehr aus, um die Sicherheit der Benutzerdaten zu gewährleisten. Ich habe verschiedene Methoden ausprobiert, aber die Ergebnisse waren nicht zufriedenstellend. Schließlich installierte ich die WiebenieUwenhuis/Laravel-2FA-Bibliothek über Komponist und fügte meiner Anwendung erfolgreich die Zwei-Faktor-Authentifizierung (2FA) hinzu, wodurch die Sicherheit erheblich verbessert wurde.

Ich habe ein schwieriges Problem bei der Entwicklung einer symfonybasierten Anwendung: So validieren Sie das JSON-Datenformat effektiv. Anfangs habe ich versucht, den manuellen Verifizierungscode zu verwenden, aber dies war nicht nur kompliziert, sondern auch fehleranfällige. Nach einiger Exploration entdeckte ich ein Komponistenpaket namens Ptyhard/JSON-Schema-Bundle, das meinem Projekt große Bequemlichkeit und Effizienz brachte.
