So erleichtert Composer die Installation neuer PHP-Software

goneo bietet dir jetzt Zugriff auf das Tool Composer, mit dem du PHP-Anwendungen unkompliziert installieren kannst.

Webentwickler nutzen PHP in großem Umfang. PHP ist eine vielseitige Skriptsprache, die sich in den letzten Jahren rasant weiterentwickelt hat. Seit den Ursprüngen, die Rasmus Lerdorf damals mit Personal Home Page Tools gelegt hat (hier bei uns im Interview) bis heute zum Release PHP 8 sind ständig neue Funktionen hinzugekommen und PHP hat sich immer weiter ausdifferenziert. So entstanden viele Bibliotheken und Module, mit denen die Kernfunktionen bei Bedarf ergänzt werden können. Das beschleunigt die Entwicklung neuer Anwendungen sehr.

Doch nicht in jedem Kontext braucht man als Entwickler die gleiche PHP-Konfiguration und viele Module wären einfach überflüssig, würde man sie standardmäßig auf einem Server installieren.

Um genau die Module und Bibliotheken bereit zu stellen, die eine PHP-Anwendung braucht, gibt es Tools wie Composer. Composer steht nun auf nahezu allen Servern, mit denen die Websites unserer Kunden ausgeliefert werden, zur Verfügung. Im Webspace befindet sich eine Hilfsdatei namens „.composer“, die notwendig ist, damit das Tool seine Arbeit korrekt verrichten kann.

Mit Composer lassen sich Module effektiv verwalten. In diesem Beitrag werden wir uns ansehen, wo das Composer-Tool für PHP-Anwendungen von großem Vorteil sein kann.

Was macht der Composer genau?

Der Composer ist, kurz gesagt, ein Abhängigkeitsmanager für PHP. Damit können Entwicklern die Bibliotheken oder Pakete deklarieren, von denen ihr Projekt abhängt. Damit ist gemeint, dass bestimmte PHP-Ressourcen vorhanden sein müssen, damit die Anwendung, die der Entwickler geschrieben hat, läuft.

Composer erleichtert die Verwaltung der PHP-Bibliotheken und Pakete sehr, da sie automatisiert installieren und aktualisiert werden. Mit dem Composer können Entwickler Abhängigkeiten hinzufügen, entfernen und aktualisieren und so sicherstellen, dass ihr Projekt immer mit den neuesten Versionen ausgestattet ist.

Wenn solche „zusätzlichen“ Software-Ressourcen verwendet werden, muss eine Art Buchhaltung geführt werden, welche Ressourcen das genau sind. Diese müssen dann auf einem anderen Server installiert sein, bevor die Software selbst installiert werden kann.

Die Liste der Bestandteile, die benötigt werden, befindet sich in der Regel in einer JSON-Datei, die mit einem Programmpaket („package“) geliefert wird. Composer auf dem Zielsystem nutzt diese Datei und lädt die als notwendig deklarierten Bestandteile falls sie noch nicht vorhanden sind. So lassen sich neben der eigenen Anwendung auch die nötigen Bibliotheken und Module gleich mit installieren. Ansonsten müsste der Anwender bzw. die Anwenderin jedes Element selbst suchen, herunterladen und konfigurieren.

WINSCP Ansicht Webroot mit den Verzeichnissen .composer, cgi-bin, htdocs und logfiles
Compooser benötigt ein wenig Speicherplatz auf dem Webspace, um einige Dateien zwischenzuspeichern. Daher existiert ein Verzeichnis .composer (neben cgi-bin, htdocs und den Logfiles)

Warum der Composer auf einem Webserver sehr hilfreich ist

Composer selbst braucht einige PHP-Erweiterungen. Zu den erforderlichen Erweiterungen gehören u. a. cURL, JSON, OpenSSL und mbstring. Dies ist bei goneo gegeben.

PHP-Programmierer nutzen meist die Befehlszeilenschnittstelle (CLI), um Abhängigkeiten zu verwalten. Nutzt man fertige Module oder Teile aus von anderen Programmierern oder Organisationen bereitgestellte Bibliotheken lassen sich die Entwicklungszeiten verringern. Der Programmierer oder die Programmiererin muss das Rad nicht neu erfinden, sondern verwendet Programmteile, die im Regelfall häufig verwendet und damit bewährt und gut getestet sind. Das kann zu besserer Codequalität führen.

Ein Beispiel für eine Open-Source-Anwendung, die Composer verwendet, ist das Laravel. Laravel ist ein beliebtes PHP-Framework, das viele Funktionen für die Entwicklung moderner Webanwendungen bietet. Wenn ein Entwickler eine neue Funktion benötigt, kann er diese einfach als Paket installieren lassen. Das unterstützt der Composer.

Viele Softwarelieferanten von Webanwendungen, die auf PHP aufbauen, setzen auf den Composer, wenn es darum geht, die Software per Routine installieren zu lassen.

Bei einer Installation eines fertigen Programmpakets reicht es meist, die Installationsroutine zu starten. Wie Composer an sich bedient wird, erfährst du auf der Seite der Entwickler von Composer.

Dies ist eine neues Feature für Nutzer und Nutzerinnen von Shared Hosting Paketen wie goneo Webhosting Start, Profi, Premium, Ultra. Kunden von goneo Webserver – und Managed-Server-Produkten konnten schon länger Composer nutzen, nun aber auch in einer neuen Version.

Konkretes Beispiel: Grav mit Composer installieren

Grav ist ein leichtgewichtiges und schnelles Content Management System (CMS), läuft auf jedem php-fähigen Webspace und braucht noch nicht einmal eine MySql-Datenbank. Es gibt einige hübsche Templates (Themes) und Inhalte erstellst du mit einem Texteditor. Grav ist einen Blick wert.

Diese eine Zeile reicht, um Grav auf einem goneo-Webhosting-Account zu installieren:

composer create-project getgrav/grav ~/htdocs/grav

In der Konsolenansicht (mit z.B. WinSCP und SSH-Verbindung, PuTTY) kann man den Ablauf mitverfolgen:

Ansicht in PuTTY: Composer im Einsatz
Hier sieht man am Beispiel grav, wie Composer sich die zahlreichen benötigten Ressourcen herunterlädt und der Anwendung zur Verfügung stellt.

Nach ein paar Sekunden liegt Grav laufbereit im Verzeichnis „/grav“ unter „htdocs“.

Grav Content Management System Startseite
Startseite einer frisch eingerichteten Grav-Installation

Ab diesem Moment geht es dann darum, Inhalte zu erstellen und ein Theme anzupassen.

Natürlich sind auch klassische Installationswege möglich, über GitbHub oder eben per Zip-File Down- und Upload.

Die Datei, die all die Informationen über die Abhängigkeiten enthält, lässt sich jederzeit einsehen:

JSON Viewer mit Composer-Informationen.
So beschreibt Composer die Abhängigkeiten. Ansicht mit einem JSON-Viewer.

3 Antworten auf „So erleichtert Composer die Installation neuer PHP-Software“

  1. Meiner Meinung nach vermittelt dieser Artikel ein klares Bild davon, wie der Composer den gesamten Prozess der Einrichtung von PHP-Anwendungen vereinfacht. Die Entwicklung von PHP, von den Anfängen unter Rasmus Lerdorf bis zur aktuellen Version PHP 8, zeigt, wie anpassungsfähig und relevant diese Sprache im Bereich der Webentwicklung bleibt. Der Zustrom zahlreicher Bibliotheken und Module hat das Entwicklungstempo unbestreitbar erhöht und macht es effizienter als je zuvor.
    Was mich wirklich beeindruckt hat, war die Erkenntnis, dass verschiedene Entwickler unterschiedliche PHP-Konfigurationen benötigen. Das macht die Bedeutung von Tools wie Composer deutlich. Die Möglichkeit, Module und Bibliotheken an die spezifischen Anforderungen einer Anwendung anzupassen, ist ein absoluter Wendepunkt.
    Ich möchte auch hervorheben, inwieweit der Composer auf Servern verfügbar ist und wie die „.composer“-Hilfsdatei praktisch den reibungslosen Betrieb des Tools gewährleistet. Ich freue mich darauf, die Möglichkeiten, die der Composer für PHP-Anwendungen bietet, im weiteren Verlauf dieses Beitrags näher zu beleuchten. Ich hoffe auf einige praktische Beispiele und vielleicht einige bewährte Methoden, um die Fähigkeiten des Composers optimal zu nutzen.

  2. Mit Composer wird die Installation neuer PHP-Software erheblich vereinfacht. Als leistungsstarkes Tool ermöglicht Composer eine nahtlose Verwaltung und Installation von PHP-Anwendungen, indem es Abhängigkeiten effizient verwaltet und Konflikte vermeidet. Dank der neuen Möglichkeit, Composer über goneo zu nutzen, kannst du jetzt noch einfacher und schneller die benötigten PHP-Pakete installieren und aktualisieren. Dies spart Zeit und reduziert den Aufwand bei der Verwaltung deiner Projekte, sodass du dich auf das Wesentliche konzentrieren kannst: die Entwicklung hochwertiger Anwendungen.

Schreibe einen Kommentar

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