Composer, ein Administrator zum Installieren von Abhängigkeiten in PHP-Projekten

Vor ein paar Tagen Der Start der neuen Version von Composer 2.0 wurde angekündigtDies ist ein Administrator, der Abhängigkeiten in PHP-Projekten installiert.

Komponieren, zeichnet sich durch das Zulassen aus an den Benutzer die Bestimmen Sie, welche Funktionsbibliotheken erforderlich sind Damit das Projekt funktioniert, kümmert es sich um die Installation der fehlenden Abhängigkeiten und die Aktualisierung neuer Versionen.

Die für die Installation verfügbaren Bibliotheken befinden sich im Packagist-Repository, das mehr als 287 Pakete enthält.

Über den Komponisten

Composer ist als Abhängigkeitsinstallationssystem positioniert Entwickelt mit npm- und Bundler-Paketmanagern im Hinterkopf in den Communities Node.js und Ruby.

das System betreibt Pakete in Bezug auf bestimmte Projekte und es wurde entwickelt, um Abhängigkeiten von lokalen Projektverzeichnissen zu installieren (optional gibt es auch einen globalen Installationsmodus für das gesamte System).

Standardmäßig wird eine stabile Bibliotheksinstallation empfohlen. Es ist jedoch auch möglich, experimentelle Updates (Alpha / Beta) und Snapshots (Snapshots der Entwicklungscodebasis) zu verwenden, die zum Organisieren von Testbuilds auf kontinuierlichen Integrationssystemen nützlich sind.

Der Composer-Code ist in PHP geschrieben und wird unter der MIT-Lizenz vertrieben.

Informationen zur neuen Version von Composer 2.0

In der neuen Version Es wurden wichtige Leistungsoptimierungen vorgenommen und der Speicherverbrauch wurde reduziert. Es wurde viel überarbeitet, vom Protokoll bis zum Aufruf von packagist.org bis hin zu Methoden zur Ermittlung von Abhängigkeiten.

Der Upload erfolgt in verschiedenen Metadaten-Streams und Zip-Dateien sowie Der Modus der parallelen Installation von Paketen wurde implementiert. Dem Code für Berechnungen wurden Optimierungen hinzugefügt. Wenn Sie nur die Paketmetadaten hochladen, werden Vorgänge erforderlich und / oder entfernt, und Teilaktualisierungen werden erheblich beschleunigt. In einigen Projekten wird eine Beschleunigung von bis zu 50% beobachtet.

Der Mechanismus zum Aktualisieren von Abhängigkeiten wurde überarbeitet, die frei von Bindungen an den Status des Verzeichnisses im lokalen Dateisystem ist. Nach Abschluss des Updates beginnt der Installationsprozess nun automatisch mit der vorläufigen Ausführung aller Vorgänge, für die ein Netzwerkzugriff erforderlich ist.

Durch Ausführen von Netzwerkvorgängen vor Beginn der eigentlichen Installation wird das Auftreten unvollständig aktualisierter Verzeichnisse im Falle eines Netzwerkfehlers während des Installationsvorgangs vermieden. Wann immer möglich, werden Netzwerk-Downloads mit mehreren Threads durchgeführt.

Standardmäßig, Eine zusätzliche Plattformüberprüfungsstufe wird hinzugefügt zur Laufzeit bei der Initialisierung von vendor / autoload.php, die Überprüfen Sie die PHP-Version und die Erweiterungen verwendet stimmen mit den in den Abhängigkeiten unterstützten Versionen überein. Bei einer Diskrepanz wird ein Fehler angezeigt.

Die Validierung erfolgt mit der neuen Composer \ InstalledVersions-Klasse, die für jedes Projekt geladen wird, um festzustellen, welche Pakete und Versionen im Projekt verfügbar sind.

Darüber hinaus wird erwähnt, dass überarbeitete Fehlermeldungen im Zusammenhang mit Problemen bei der Abhängigkeitserkennung auftreten. Diese Nachrichten sind kürzer, klarer und mit weniger Duplikaten.

Verwenden Sie das Konstrukt "Composer Update Vendor / Package: 1.0", um Versionen während des Updates vorübergehend einzuschränken. * ", Wodurch der Inhalt des Blocks in" composer.json "nicht geändert wird und die gesperrte Datei nicht als veraltet markiert wird.

Von den anderen Änderungen, die in dieser neuen Version auffallen:

  • Unterstützung für zeitlich begrenzte Teilaktualisierungen hinzugefügt, die verwendet werden können, wenn Sie eine Version eines Pakets vorübergehend aktualisieren oder zurücksetzen müssen, um eine Fehlerbehebung zu testen oder darauf zu warten. Das automatische Entfernen nicht mehr benötigter Pakete wurde implementiert.
  • Dem Repository wurden nur neue Optionen (ausschließen und kanonisch) hinzugefügt.
  • Vor den Vorgängen, der Ausführung, der Erstellung vor der Gruppe und dem anschließenden Herunterladen von Dateien wurden neue Ereignisse hinzugefügt.
  • Eine große Anzahl neuer Flags wurde hinzugefügt.

Wenn Sie mehr über diese neue Version erfahren möchten, können Sie die Details konsultieren im folgenden Link.

Wenn Sie andererseits die Dokumentation konsultieren möchten, können Sie dies tun von diesem Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.