PHP: Composer 2.0 überarbeitet Auflösung von Abhängigkeiten

Composer ist ein beliebtes Werkzeug bei der Arbeit mit PHP. Entwickler Jordi Boggiano möchte mit Version 2.0 an der Performance des Frameworks arbeiten.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 11 Beiträge

(Bild: Artur Szczybylo/Shutterstock.com)

Von
  • Madeleine Domogalla

Composer, das quelloffene Framework zur Abhängigkeitsverwaltung für PHP-Anwendungen, liegt in Version 2.0 vor. Neben einigen Änderungen bringt das Update grundlegende Neuerungen und überarbeitet das Error Reporting. Vorrangiges Ziel des Updates ist eine bessere Performance des Frameworks.

Jordi Boggiano, der Entwickler hinter dem Framework, hat das Protokoll überarbeitet, das zwischen Composer und packagist.org verwendet wird. Darüber hinaus wurden Änderungen an der Architektur vorgenommen, beispielsweise an der Art und Weise, wie Aktualisierungen von Abhängigkeiten intern durchgeführt werden. Für Entwickler sollen diese Änderungen zu deterministischeren Updates führen. Der verwendete lokale Status des Herstellerverzeichnisses (Vendor Directory) soll Updates nicht mehr behindern.

Mit den Änderungen an der Auflösung von Abhängigkeiten sowie am parallelen Herunterladen von Dateien mithilfe angepasster Curl- und Constraint-Evaluierung möchte das Entwicklerteam neben der Geschwindigkeit auch die Speichernutzung verbessern. Darüber hinaus soll die Verwendung von require beziehungsweise remove sowie teilweisen Updates schneller sein, da Composer ab sofort nur noch die Metadaten der Pakete lädt, die geändert werden.

Die Entwickler hinter dem Framework haben Composer zusätzlich um einen neuen Plattform-Prüfschritt erweitert. Bei der Initialisierung von vendor/autoload.php wird geprüft, ob die verwendete PHP-Version/-Erweiterung mit dem übereinstimmt, was von den Abhängigkeiten erwartet wird, und auf anderer Seite scheitert.

Darüber hinaus gibt es eine neue Klasse Composer\InstalledVersions, die das Framework in jedem Projekt automatisch lädt und zur Runtime verfügbar sein soll. Das Entwicklerteam hat zudem an der Fehlerberichterstattung gearbeitet, die deutlicher anzeigen soll, wenn Dependencies nicht aufgelöst werden können.

Mehr zu PHP

betterCode() präsentiert: PHP 8 - Das Online-Event am 26. November 2020

Das können Sie lernen:

  • PHP 8 ist da, und jetzt?
  • Was kann der neue JIT-Compiler?
  • Wie funktioniert das Typsystem von PHP 8?
  • Syntax Highlights: Was können die neuen Attribute?
  • Vor- und Nachteile von Metaprogrammierung
  • Migration auf PHP 8: Wie kriege ich meinen Code fit?
  • Behind the Scenes: Wie wird PHP heute entwickelt?
  • Praxisnahe Beispiele und Hand-on-Infos von Experten

Zum jetzigen Zeitpunkt unterstützt das beliebte Werkzeug bei der Arbeit mit PHP noch PHP-Versionen, die das End of Life (EOL) längst erreicht haben und keine Updates mehr erhalten. Für diese Versionen soll der Support seitens Composer mit einem der nächsten Minor-Updates entfernt werden. Nähere Informationen zum Update finden sich im Changelog sowie im Blogbeitrag auf Packagist.com. Dort erhalten Interessierte zudem eine detaillierte Upgrade-Anleitung.

(mdo)