Composeist ein Abhängigkeitsmanager für PHP (ähnlich wie npm für Node.jsor pip für Python).
Mit Composer können Sie die PHP-Bibliotheken angeben, von denen Ihr Projekt abhängt, und es wird alle Bibliotheken und Abhängigkeiten für Sie abrufen und verwalten. Composer wird in allen modernen PHP-Frameworks und -Plattformen wie Laravel, Symfony, Drupal und Magento verwendet.
Dieses Tutorial erklärt, wie Composer unter Ubuntu 20.04 installiert und verwendet wird.
Installieren von PHP Composer auf Ubuntu #
Stellen Sie vor der Installation von Composer sicher, dass alle erforderlichen Anforderungen auf Ihrem System installiert sind:
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer bietet einen in PHP geschriebenen Installer, den wir verwenden, um Composer zu installieren. Verwenden Sie wget
So laden Sie das Installationsprogramm herunter:
wget -O composer-setup.php https://getcomposer.org/installer
Der obige Befehl speichert die Datei als composer-setup.php
im aktuellen Arbeitsverzeichnis.
Composer ist eine Einzeldatei-CLI-Anwendung und kann entweder global oder als Teil des Projekts installiert werden. Die globale Installation erfordert sudo-Berechtigungen.
-
Um Composer global als systemweiten Befehl zu installieren, der allen Benutzern zur Verfügung steht, legen Sie die Datei einfach in einem Verzeichnis ab, das sich im
PATH
des Systems befindet .Führen Sie den folgenden Befehl aus, um Composer im Verzeichnis/usr/local/bin
zu installieren Verzeichnis:sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer Downloading... Composer (version 1.10.7) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Sie können jetzt Composer verwenden, indem Sie
composer
ausführen in Ihrem Terminal. -
Geben Sie Folgendes ein, um Composer lokal zu installieren:
sudo php composer-setup.php --install-dir=/path/to/project
Dadurch wird eine Datei namens
composer.phar
heruntergeladen in Ihrem Projektstammverzeichnis. Um Composer zu verwenden, navigieren Sie zum Projektverzeichnis und führen Siephp composer.phar
aus
Wenn eine neue Composer-Version verfügbar ist, können Sie Ihre Installation mit dem folgenden Befehl aktualisieren:
sudo composer self-update
Erste Schritte mit Composer #
Nachdem Composer nun auf Ihrem Ubuntu-System installiert ist, sehen wir uns an, wie Sie mit Composer ein PHP-Projekt erstellen.
Der erste Schritt besteht darin, das Projektstammverzeichnis zu erstellen und dorthin zu navigieren:
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
In diesem Beispiel verwenden wir ein PHP-Paket namens carbon, um eine Beispielanwendung zu erstellen, die die aktuelle Uhrzeit ausgibt.
Führen Sie den folgenden Befehl aus, um ein neues Composer-Projekt zu initialisieren und das Carbon-Paket zu installieren:
composer require nesbot/carbon
Using version ^2.35 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 5 installs, 0 updates, 0 removals
- Installing symfony/translation-contracts (v2.1.2): Downloading (100%)
- Installing symfony/polyfill-php80 (v1.17.0): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.17.0): Downloading (100%)
- Installing symfony/translation (v5.1.2): Downloading (100%)
- Installing nesbot/carbon (2.35.0): Downloading (100%)
Writing lock file
Generating autoload files
5 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
Wie in der Ausgabe gezeigt, erstellt Composer die Datei composer.json
Datei und lädt Carbon und alle seine Abhängigkeiten herunter und installiert es.
Wenn Sie das Verzeichnis Ihres Projekts auflisten, werden Sie sehen, dass es zwei Dateien composer.json
enthält und composer.lock
, und ein vendor
Verzeichnis.
ls -l
-rw-rw-r--. 1 linuxize linuxize 60 Mar 27 18:05 composer.json
-rw-rw-r--. 1 linuxize linuxize 11135 Mar 27 18:06 composer.lock
drwxrwxr-x. 6 linuxize linuxize 82 Mar 27 18:06 vendor
vendor
ist das Verzeichnis, in dem die Projektabhängigkeiten gespeichert werden.composer.lock
ist eine Datei, die Informationen über alle installierten Pakete und ihre Versionen enthält und das Projekt auf die spezifischen Versionen fixiert.composer.json
ist die Datei, die Ihr PHP-Projekt beschreibt, einschließlich der PHP-Abhängigkeiten und anderer Metadaten.
Composer verfügt über 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 hinzu:
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Lassen Sie uns den Code Zeile für Zeile analysieren.
Die vendor/autoload.php
Datei wird automatisch von Composer generiert und lädt automatisch alle Bibliotheken.
Die nächste Zeile erstellt den Alias Carbon
und die letzte Zeile gibt die aktuelle Zeit mit dem Carbon now
aus Methode.
Führen Sie das Skript aus, indem Sie Folgendes eingeben:
php testing.php
Die Ausgabe sollte in etwa so aussehen:
Now: 2020-06-17 20:41:04
Wenn Sie später die Projektpakete aktualisieren müssen, geben Sie Folgendes ein:
composer update
Der obige Befehl sucht nach neueren Versionen der installierten Pakete und ob eine neuere Version gefunden wird und die Versionseinschränkung mit der in composer.json
angegebenen übereinstimmt , Composer aktualisiert das Paket.