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 wieautoload.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.