
Composerest un gestionnaire de dépendances pour PHP (similaire à npm pour Node.jsor pip pour Python).
Composer récupérera tous les packages PHP requis dont dépend votre projet et les gérera pour vous. Il est utilisé dans tous les frameworks et plates-formes PHP modernes tels que Laravel, Symfony, Drupal et Magento 2.
Dans ce tutoriel, nous allons passer par les étapes d'installation et d'utilisation de Composer sur une machine CentOS 7.
Prérequis #
Assurez-vous que vous avez satisfait aux prérequis suivants avant de poursuivre ce didacticiel :
- Connecté en tant qu'utilisateur avec des privilèges sudo
- Ayez PHP 7 installé sur votre système CentOS 7.
Installation de Composer sur CentOS #
Les étapes suivantes décrivent comment installer Composer sur un système CentOS 7.
-
Installez d'abord le package PHP CLI (interface de ligne de commande) et toutes les autres dépendances avec :
sudo yum install php-cli php-zip wget unzip
-
Une fois PHP CLI installé, téléchargez le script d'installation de Composer avec :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
La commande ci-dessus téléchargera le
composer-setup.php
fichier dans le répertoire de travail courant. -
Pour vérifier l'intégrité des données du script, comparez le script
SHA-384
hachage avec le dernier hachage du programme d'installation trouvé sur la page Composer Public Keys / Signatures.La commande wget suivante téléchargera la signature attendue du dernier programme d'installation de Composer à partir de la page Github de Composer et la stockera dans une variable nommée
HASH
:HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
Pour vérifier que le script d'installation n'est pas corrompu, exécutez la commande suivante :
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Si les hachages correspondent, le message suivant s'affichera :
Installer verified
Si les hachages ne correspondent pas, vous verrez
Installer corrupt
. Dans ce cas, vous devez retélécharger le script d'installation de Composer et revérifier la valeur du$HASH
variable avececho $HASH
. Une fois le programme d'installation vérifié, vous pouvez passer à l'étape suivante. -
Exécutez la commande suivante pour installer Composer dans le
/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.8.5) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
Le
composer
est installé en tant que commande à l'échelle du système et il sera disponible pour tous les utilisateurs. -
La dernière étape consiste à vérifier l'installation :
composer
La commande ci-dessus imprimera la version, les commandes et les arguments de Composer.
______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Composer version 1.8.5 2019-04-09 17:46:47 Usage: command [options] [arguments]
À ce stade, vous avez installé avec succès Composer sur votre système CentOS.
php composer-setup.php
qui créera un fichier nommé composer.phar
dans votre répertoire de travail actuel. Vous pouvez utiliser le composeur en exécutant ./composer.phar <command>.
Démarrer avec Composer #
Maintenant que Composer est installé sur votre système CentOS, nous allons vous montrer comment utiliser Composer dans un projet PHP.
Commencez par créer un répertoire qui sera le répertoire racine du projet et maintenez le composer.json
fichier.
composer.json
Le fichier décrit votre projet PHP, y compris les dépendances PHP et d'autres métadonnées.
Créez le répertoire du projet et basculez-y avec :
mkdir ~/my-first-composer-project
cd ~/my-first-composer-project
Dans cet exemple, nous allons créer un exemple d'application qui imprimera l'heure actuelle à l'aide d'un package appelé carbon.
Exécutez la commande suivante pour initialiser un nouveau projet Composer et installer le package carbone :
composer require nesbot/carbon
Using version ^2.2 for nesbot/carbon
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 3 installs, 0 updates, 0 removals
- Installing symfony/polyfill-mbstring (v1.9.0): Downloading (100%)
- Installing symfony/translation (v4.1.4): Downloading (100%)
- Installing nesbot/carbon (2.2.0): Downloading (100%)
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
Comme vous pouvez le voir dans la sortie ci-dessus, Composer créera le composer.json
fichier et il téléchargera et installera 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-r--r-- 1 linuxize users 60 Aug 29 00:50 composer.json
-rw-r--r-- 1 linuxize users 6.8K Aug 29 00:50 composer.lock
drwxr-xr-x 5 linuxize users 4.0K Aug 29 00:50 vendor
- Le
vendor
répertoire est le répertoire dans lequel les dépendances du projet sont stockées. - Le
composer.lock
contient une liste de tous les packages installés, y compris leurs versions. - Le
composer.json
décrit le projet PHP et toutes les dépendances PHP.
Composer fournit des capacités de chargement automatique qui nous permettent d'utiliser des classes PHP sans avoir besoin d'utiliser 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.
Dans la première ligne après la balise php d'ouverture, nous incluons le vendor/autoload.php
fichier généré automatiquement par Composer qui chargera automatiquement toutes les bibliothèques.
Ensuite, nous aliasons Carbon\Carbon
comme Carbon
et dans la dernière ligne nous imprimons 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: 2018-09-26 20:08:18
Plus tard, si vous souhaitez mettre à jour vos packages PHP, vous pouvez simplement exécuter :
composer update
La commande ci-dessus vérifiera les versions plus récentes des packages installés et si une version plus récente est trouvée et la contrainte de version correspond à celle spécifiée dans le composer.json
, Composer mettra à jour le package.