So installieren und verwenden Sie PHP Composer unter Ubuntu 20.04 LTS

Stellen Sie Ihr PHP-Projekt ganz einfach zusammen, indem Sie Composer alle Abhängigkeiten verwalten lassen

Composer ist ein Abhängigkeitsmanagement-Tool für PHP. Es unterscheidet sich vom traditionellen Paketmanager wie geeignet und dnf, so dass es die Pakete & Bibliotheken nicht global auf einer systemweiten Ebene installiert, sondern sie für jedes Projekt separat behandelt. Es handelt sich also um einen Abhängigkeitsmanager und nicht um einen Paketmanager.

Ähnlich wie ein Musikkomponist eine Reihe von Instrumenten nimmt und sie so anordnet, dass sie in einem Konzert einwandfrei funktionieren, nimmt der Composer for PHP eine Reihe von Bibliotheken und Frameworks, verpackt sie, um zusammenzuarbeiten und eine solide Grundlage zu schaffen, auf der ein PHP-Projekt aufgebaut werden kann zusammengesetzt.

Voraussetzungen

Sie benötigen Zugriff auf ein Ubuntu 20.04-System mit einem Nicht-Root sudo Benutzerkonto. Darüber hinaus müssen Sie einige Abhängigkeiten für Composer installieren, darunter: php-cli um PHP-Skripte in Ihrem Terminal auszuführen, entpacken um Composer beim Extrahieren der heruntergeladenen Pakete zu helfen und Locken um das Installationsskript des Komponisten herunterzuladen

Um alle erforderlichen Pakete zu installieren, aktualisieren Sie die Ubuntu-Paketliste, indem Sie den Update-Befehl ausführen:

sudo apt-Update

Dann installiere die php-cli, entpacken und Locken mit dem folgenden Befehl:

sudo apt install php-cli entpacken curl

Sie werden aufgefordert, die Installation zu bestätigen, drücken Sie Ja drücken Sie dann die Eingabetaste. Nachdem Sie alle Voraussetzungen erfüllt haben, können Sie mit der Installation von Composer fortfahren.

Composer herunterladen und installieren

Composer bietet ein übersichtliches PHP-Skript zum Herunterladen und Installieren auf Ihrem Computer über die Befehlszeile. Wir müssen verwenden Locken Um dieses Skript herunterzuladen, überprüfen Sie seine Authentizität aus Sicherheitsgründen und führen Sie es dann aus, um Composer zu installieren.

Stellen Sie sicher, dass Ihr Terminal im Home-Verzeichnis geöffnet ist und laden Sie dann das Installationsskript herunter, indem Sie verwenden Locken:

cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php

Als nächstes müssen wir überprüfen, ob das heruntergeladene Installationsskript echt ist, indem wir den SHA-384-Hash davon mit dem auf der Seite "Public Key/Checksums" von Composer gefundenen abgleichen. Rufen Sie dazu den SHA-384-Hash von der Composer Public Key-Seite ab und speichern Sie ihn in einer Shell-Variablen.

Hash=`curl -sS //composer.github.io/installer.sig`

Überprüfen Sie dann, ob Sie den Hash erfolgreich abgerufen und in der Variablen gespeichert haben, indem Sie Folgendes ausführen:

echo $Hash

Sie sollten eine Ausgabe einer zufälligen Zeichenfolge wie diese vom Terminal erhalten:

Ausgabe: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Führen Sie nun den folgenden von Composer bereitgestellten PHP-Code aus, um die Authentizität des Installationsskripts zu überprüfen:

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$Hash') { echo 'Installer verifiziert'; } else { echo 'Installer beschädigt'; unlink('composer-setup .php'); } echo PHP_EOL;"
Ausgabe: Installateur verifiziert

Wenn Sie eine andere Ausgabe sehen, wie z Installer beschädigt, dann wissen Sie, dass das Skript beschädigt ist und nicht sicher ausgeführt werden kann. Laden Sie das Skript erneut mit curl herunter und führen Sie dann den PHP-Code im Terminal erneut aus, um das Installationsskript zu überprüfen.

Sie können mit der Installation fortfahren, wenn Sie das Installationsprogramm erfolgreich verifiziert haben. Sie können Composer global oder lokal für ein einzelnes Projekt installieren.

Composer global installieren

So installieren Sie Composer global als systemweiten Befehl namens Komponist, führen Sie den folgenden Befehl aus:

sudo php Composer-setup.php --install-dir=/usr/local/bin --filename=composer

Composer wird im installiert /usr/local/bin Verzeichnis auf Ihrem Ubuntu 20.04-System und Sie sehen eine Ausgabe wie diese:

Ausgabe: Alle Einstellungen korrekt für die Verwendung von Composer Downloading... Composer (Version 1.10.7) erfolgreich installiert unter: /usr/local/bin/composer Verwenden Sie es: php /usr/local/bin/composer 

Überprüfen Sie, ob Composer richtig installiert ist und funktioniert, indem Sie Folgendes ausführen:

Komponist
Ausgabe: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___ / /_ / /_ / / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Komponistenversion 1.10.7 2020-06- 03 10:03:56 Verwendung: Befehl [Optionen] [Argumente] 

Sie haben Composer erfolgreich auf Ihrem Ubuntu 20.04-System installiert. Sie können jetzt Composer verwenden, um Abhängigkeiten in Ihren PHP-Projekten sofort zu verwalten, zu aktualisieren und zu installieren.

Composer lokal installieren

Die lokale Installation von Composer ist hilfreich, wenn Sie keine Berechtigung zur systemweiten Installation haben oder den Composer nur für ein einzelnes Projekt verwenden möchten. Um Composer lokal zu installieren, führen Sie Folgendes aus:

php Composer-Setup.php

Der obige Befehl erstellt eine neue Datei in Ihrem aktuellen Verzeichnis namens Komponist.phar. Sie müssen diese Datei in den Projektstammordner verschieben, um die Composer-Funktionen verwenden zu können. Diese Datei kann mit dem unten gezeigten Befehl ausgeführt werden.

php Composer.phar

Komponisten-Grundlagen

Nachdem Sie Composer auf Ihrem Ubuntu 20.04-Computer installiert haben, lassen Sie uns einige Grundlagen von Composer betrachten. Composer zielt darauf ab, eine einfache Installation und Aktualisierung von Abhängigkeiten zu ermöglichen und erstellt dazu viele Dateien im Projekt-Root-Verzeichnis. Sehen wir uns die Verzeichnisstruktur eines Projekts an, das Composer verwendet, um Abhängigkeiten zu verwalten.

Root-Struktur des Composer-Projekts:ProjektRoot/ Composer.json Composer.lock ├── Project.php Komponist.phar *Nur wenn Sie Composer lokal installiert haben └── Verkäufer ├── autoload.php ├── Komponist │ ├── ClassLoader.php │ ├── LIZENZ │ ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • Der Komponist.json Datei im Stammverzeichnis des Projekts speichert alle Informationen zu den Abhängigkeiten (Paketen), die vom Projekt benötigt werden.
  • Der Komponist.lock enthält die Informationen zu den Paketen, die für das Projekt versioniert sind.
  • Verkäufer ist das Verzeichnis, in dem alle Pakete gespeichert sind, es enthält auch einige PHP-Skripte wie autoload.php, das die automatische Aufnahme der Pakete in das Herstellerverzeichnis erleichtert.
  • Wenn Sie Composer lokal installiert haben, müssen Sie schließlich Komponist.phar Datei im Projektverzeichnis, um Pakete zu installieren.

Alle diese Dateien werden erstellt, wenn Sie die Komponist oder php Composer.phar Befehl zum erstmaligen Herunterladen und Installieren von Paketen für Ihr Projekt. Schauen wir uns also die Arbeitsweise von Composer an, indem wir ein Demo-Projekt erstellen.

Erstellen Sie Ihr erstes Projekt mit Composer

Der erste Schritt besteht darin, ein Root-Verzeichnis für Ihr Projekt zu erstellen, also erstellen Sie eines mit mkdir Befehl und navigieren Sie mit CD Befehl:

mkdir ~/ComposerDemo cd ~/ComposerDemo

Jetzt müssen wir die Pakete/Bibliotheken finden und installieren, die zum Erstellen unseres Demoprojekts erforderlich sind. Packagist ist das wichtigste Composer-Repository, das alle öffentlich verfügbaren PHP-Pakete auflistet, die mit Composer installiert werden können.

In diesem Beispiel verwenden wir ein PHP-Paket namens Kuchenphp/chronos, es ist eine einfache API-Erweiterung für Datum und Uhrzeit. Um ein neues Composer-Projekt zu generieren und das Chronos-Paket zu installieren, führen Sie den folgenden Befehl aus:

Komponist benötigt Kuchenphp/chronos
Ausgabe: Verwendung von Version ^2.0 für cakephp/chronos ./composer.json wurde erstellt Composer-Repositorys mit Paketinformationen laden Aktualisieren von Abhängigkeiten (einschließlich require-dev) Paketoperationen: 1 Installation, 0 Updates, 0 Entfernungen - Installation von cakephp/chronos (2.0.5 .) ): Herunterladen (100%) Schreiben einer Sperrdatei Generieren von Autoload-Dateien 

Der erfordern Option holt und installiert das gewünschte Paket und generiert die Dateien und Verzeichnisse wie Komponist.json, Komponist.lock und Verkäufer im Projektstammverzeichnis. Das wirst du sehen Kuchenphp/chronos wird hinzugefügt Komponist.json wenn Sie den folgenden Befehl ausführen:

Katze Composer.json
Ausgabe: { "require": { "cakephp/chronos": "^2.0" } } 

Lassen Sie uns als nächstes Chronos in unserem Demo-Projekt verwenden, öffnen und erstellen Sie eine PHP-Datei namens demo.php mit Nano:

nano demo.php

Dann fügen Sie den folgenden Code in die demo.php, die zweite Zeile, die enthält verkäufer/autoload.php ist eine Composer-Datei, die automatisch alle Pakete und Bibliotheken lädt, die für das Projekt installiert sind. Speichern Sie die Datei, indem Sie drücken Strg+O und verlassen Sie dann den Nano-Editor, indem Sie drücken Strg+X.

Führen Sie die demo.php indem Sie den folgenden Befehl ausführen:

php demo.php
Ausgabe: Jetzt: 23.06.2020 17:07:45

Wenn Sie in Zukunft die Pakete und Bibliotheken Ihres Projekts aktualisieren müssen, führen Sie einfach den folgenden Befehl aus:

Komponisten-Update

Der obige Befehl sucht nach der neueren Version der installierten Pakete und aktualisiert sie sicher, ohne das Projekt und seine voneinander abhängigen Bibliotheken zu beschädigen.

Wir haben uns angesehen, wie Sie Composer auf einem Ubuntu 20.04-Computer installieren, und haben uns die Grundlagen angesehen, die Sie über Composer wissen müssen. Sie können jetzt versuchen, neue Projekte zu erstellen, indem Sie die erforderlichen Pakete hinzufügen, indem Sie auf Packagist suchen. Wenn Sie mehr über Composer und seine Optionen erfahren möchten, besuchen Sie die Composer-Online-Dokumentationsseite.