
Composerest un gestionnaire de dépendances pour PHP (similaire à npm pour Node.jsor pip pour Python).
Avec Composer, vous pouvez spécifier les bibliothèques PHP dont dépend votre projet, et il extraira et gérera toutes les bibliothèques et dépendances pour vous. Composer est utilisé dans tous les frameworks et plates-formes PHP modernes tels que Laravel, Symfony, Drupal et Magento.
Ce tutoriel explique comment installer et utiliser Composer sur Ubuntu 20.04.
Installer PHP Composer sur Ubuntu #
Avant d'installer Composer, assurez-vous que toutes les exigences nécessaires sont installées sur votre système :
sudo apt update
sudo apt install wget php-cli php-zip unzip
Composer propose un programme d'installation écrit en PHP que nous utiliserons pour installer Composer. Utilisez wget
pour télécharger le programme d'installation :
wget -O composer-setup.php https://getcomposer.org/installer
La commande ci-dessus enregistrera le fichier sous composer-setup.php
dans le répertoire de travail courant.
Composer est une application CLI à fichier unique et peut être installée globalement ou dans le cadre du projet. L'installation globale nécessite des privilèges sudo.
-
Pour installer Composer globalement en tant que commande à l'échelle du système qui sera disponible pour tous les utilisateurs, placez simplement le fichier dans un répertoire qui se trouve dans le système
PATH
.Exécutez la commande suivante pour installer Composer dans/usr/local/bin
répertoire :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
Vous pouvez maintenant utiliser Composer en exécutant
composer
dans votre terminal. -
Pour installer composer localement, entrez :
sudo php composer-setup.php --install-dir=/path/to/project
Cela téléchargera un fichier nommé
composer.phar
dans le répertoire racine de votre projet. Pour utiliser Composer, accédez au répertoire du projet et exécutezphp composer.phar
Lorsqu'une nouvelle version de Composer est disponible, vous pouvez mettre à jour votre installation à l'aide de la commande suivante :
sudo composer self-update
Démarrer avec Composer #
Maintenant que Composer est installé sur votre système Ubuntu, voyons comment créer un projet PHP avec Composer.
La première étape consiste à créer le répertoire racine du projet et à y accéder :
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
Dans cet exemple, nous utiliserons un package PHP appelé carbon pour créer un exemple d'application qui imprime l'heure actuelle.
Exécutez la commande suivante pour initialiser un nouveau projet Composer et installer le package carbone :
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!
Comme indiqué dans la sortie, Composer crée le composer.json
file et télécharge et installe carbon et toutes ses dépendances.
Si vous listez le répertoire de votre projet, vous verrez qu'il contient deux fichiers composer.json
et composer.lock
, et un vendor
répertoire.
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
est le répertoire dans lequel les dépendances du projet sont stockées.composer.lock
est un fichier qui conserve des informations sur tous les packages installés et leurs versions, verrouillant le projet sur les versions spécifiques.composer.json
est le fichier qui décrit votre projet PHP, y compris les dépendances PHP et autres métadonnées.
Composer a des capacités de chargement automatique qui nous permettent d'utiliser des classes PHP sans avoir besoin de require
ou include
les fichiers.
Créez un fichier nommé testing.php
et ajoutez le code suivant :
<?php
require __DIR__ . '/vendor/autoload.php';
use Carbon\Carbon;
printf("Now: %s", Carbon::now());
Analysons le code ligne par ligne.
Le vendor/autoload.php
Le fichier est généré automatiquement par Composer et charge automatiquement toutes les bibliothèques.
La ligne suivante crée l'alias Carbon
et la dernière ligne imprime l'heure actuelle en utilisant le Carbon now
méthode.
Exécutez le script en tapant :
php testing.php
Le résultat devrait ressembler à ceci :
Now: 2020-06-17 20:41:04
Plus tard, si vous devez mettre à jour les packages du projet, saisissez :
composer update
La commande ci-dessus vérifiera les versions les plus récentes des packages installés, et si une version plus récente est trouvée et que la contrainte de version correspond à celle spécifiée dans le composer.json
, Composer mettra à jour le package.