Composeist ein Abhängigkeitsmanager für PHP (ähnlich wie npm für Node.js oder pip für Python). Composer zieht alle erforderlichen PHP-Pakete ein, von denen Ihr Projekt abhängt, und verwaltet sie für Sie.
Dieses Tutorial enthält die Schritte, die zum Installieren von Composer auf Debian 9-Systemen erforderlich sind. Wir werden auch behandeln, wie Composer zum Erstellen und Verwalten von PHP-Projekten verwendet wird.
Voraussetzungen #
Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind und PHP auf Ihrem Debian 9-System installiert ist.
Installieren von Composer #
Führen Sie die folgenden Schritte aus, um Composer auf Debian-Systemen zu installieren:
-
Aktualisieren Sie zuerst den Paketindex und installieren Sie die erforderlichen Pakete mit den folgenden Befehlen:
sudo apt updatesudo apt install php-cli php-zip wget unzip -
Sobald die Abhängigkeiten installiert sind, verwenden Sie die PHP-Befehlszeilenschnittstelle, um das Composer-Installationsskript herunterzuladen:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"Der obige Befehl lädt die
composer-setup.phpherunter Datei im aktuellen Arbeitsverzeichnis. -
Wir überprüfen die Integrität der Skriptdaten, indem wir das Skript
SHA-384vergleichen Hash mit dem neusten Installer-Hash, der auf der Seite Composer Public Keys / Signatures zu finden ist.Führen Sie den folgenden wget-Befehl aus, um die erwartete Signatur des neuesten Composer-Installationsprogramms von der Github-Seite des Composer herunterzuladen und in einer Variablen mit dem Namen
HASHzu speichern :HASH="$(wget -q -O - https://composer.github.io/installer.sig)"Um sicherzustellen, dass das Installationsskript nicht beschädigt ist, kopieren Sie den folgenden Code und fügen Sie ihn in Ihre Konsole ein:
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"Wenn die Hashes übereinstimmen, sehen Sie die folgende Ausgabe:
Installer verifiedWenn die Hashes nicht übereinstimmen, wird
Installer corruptangezeigt . In diesem Fall müssen Sie das Composer-Installationsskript erneut herunterladen und den Wert von$HASHüberprüfen Variable mitecho $HASH. Sobald das Installationsprogramm verifiziert ist, können Sie mit dem nächsten Schritt fortfahren. -
Der folgende Befehl installiert Composer im Verzeichnis
/usr/local/binVerzeichnis:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composerAll settings correct for using Composer Downloading... Composer (version 1.8.5) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composerAn diesem Punkt haben Sie Composer auf Ihrem Debian-System installiert. Es wird als systemweiter Befehl installiert und steht allen Benutzern zur Verfügung.
-
Um die Installation zu überprüfen, geben Sie einfach ein:
composerDer obige Befehl gibt die Version, Befehle und Argumente des Komponisten aus.
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.8.5 2019-04-09 17:46:47 Usage: command [options] [arguments]
php composer-setup.php wodurch eine Datei namens composer.phar erstellt wird in Ihrem aktuellen Arbeitsverzeichnis. Sie können den Composer verwenden, indem Sie ./composer.phar <command>. ausführen Erste Schritte mit Composer #
Nachdem Sie Composer nun auf Ihrem Debian-System installiert haben, zeigen wir Ihnen, wie Sie mit Composer ein PHP-Projekt erstellen.
Beginnen Sie mit der Erstellung eines Verzeichnisses, das das Projektstammverzeichnis sein wird, und enthalten Sie composer.json Datei. Diese Datei beschreibt Ihr PHP-Projekt einschließlich der PHP-Abhängigkeiten und anderer Metadaten.
Erstellen Sie das Projektverzeichnis und wechseln Sie dorthin mit:
mkdir ~/my-first-composer-projectcd ~/my-first-composer-project
Als Nächstes initialisieren wir eine neue composer.json Datei mit dem composer require <package name> Befehl und geben Sie das Paket an, das wir herunterladen möchten. In diesem Beispiel erstellen wir eine Beispielanwendung, die die aktuelle Uhrzeit mit einem Paket namens carbon ausgibt.
Führen Sie den folgenden Befehl aus, um eine neue composer.json zu initialisieren Datei und installieren Sie das Carbon-Paket:
composer require nesbot/carbon Using version ^1.34 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)
- Installing symfony/translation (v3.4.17): Downloading (100%)
- Installing nesbot/carbon (1.34.0): Downloading (100%)
symfony/polyfill-mbstring suggests installing ext-mbstring (For best performance)
symfony/translation suggests installing symfony/config
symfony/translation suggests installing symfony/yaml
symfony/translation suggests installing psr/log-implementation (To use logging capability in translator)
Writing lock file
Generating autoload files
Composer erstellt eine composer.json Datei und laden Sie Carbon und alle seine Abhängigkeiten herunter und installieren Sie es.
Wenn Sie das Verzeichnis Ihres Projekts mit dem ls Befehl, sehen Sie, dass er zwei Dateien composer.json enthält und composer.lock , und ein vendor Verzeichnis.
ls -l -rw-r--r-- 1 linuxize users 60 Oct 16 21:02 composer.json
-rw-r--r-- 1 linuxize users 6851 Oct 16 21:02 composer.lock
drwxr-xr-x 5 linuxize users 4096 Oct 16 21:02 vendor
vendor- das Verzeichnis, in dem die Projektabhängigkeiten gespeichert sind.composer.lock- Datei, die eine Liste aller installierten Pakete enthält, einschließlich der Version der Pakete.composer.json- Datei, die das PHP-Projekt und alle PHP-Abhängigkeiten beschreibt.
Composer bietet Autoload-Funktionen, die es uns ermöglichen, PHP-Klassen zu verwenden, ohne require zu müssen oder include die Dateien.
Erstellen Sie eine Datei namens testing.php und fügen Sie den folgenden Code ein:
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Lassen Sie uns den Code Zeile für Zeile analysieren.
In der ersten Zeile nach dem öffnenden PHP-Tag binden wir die vendor/autoload.php ein Datei, die von Composer automatisch generiert wurde. Diese Datei lädt automatisch alle erforderlichen Bibliotheken.
Als nächstes aliasieren wir Carbon\Carbon als Carbon und in der letzten Zeile drucken wir die aktuelle Uhrzeit mit dem Carbon now Methode.
Führen Sie das Skript aus, indem Sie Folgendes eingeben:
php testing.php Die Ausgabe sollte in etwa so aussehen:
Now: 2018-10-16 21:08:45
Wenn Sie später die Projektpakete aktualisieren müssen, geben Sie Folgendes ein:
composer update
Der obige Befehl prüft, ob neuere Versionen der installierten Pakete vorhanden sind und ob eine neuere Version gefunden wird und ob die Versionseinschränkung mit der in composer.json angegebenen übereinstimmt , Composer aktualisiert das Paket.