Comment installer et utiliser PHP Composer sur Ubuntu 20.04 LTS

Composez facilement votre projet PHP en laissant composer gérer toutes les dépendances

Composer est un outil de gestion des dépendances pour PHP. Il diffère du gestionnaire de paquets traditionnel tel que apte et dnf, de manière à ce qu'il n'installe pas les packages et les bibliothèques globalement à l'échelle du système, mais qu'il les gère pour chaque projet séparément. Il s'agit donc d'un gestionnaire de dépendances et non d'un gestionnaire de packages.

Tout comme un compositeur de musique prend un tas d'instruments et les arrange pour qu'ils fonctionnent parfaitement dans un concert, le compositeur pour PHP prend un tas de bibliothèques et de frameworks, les emballe pour qu'ils fonctionnent ensemble et créent une base solide sur laquelle un projet PHP peut être composé.

Conditions préalables

Vous devez accéder à un système Ubuntu 20.04 avec un non-root sudo compte d'utilisateur. De plus, vous devez installer certaines dépendances pour Composer, qui incluent php-cli pour exécuter des scripts PHP dans votre terminal, décompresser pour aider Composer à extraire les packages téléchargés et boucle pour télécharger le script d'installation de composer

Pour installer tous les packages requis, mettez à jour la liste des packages Ubuntu en exécutant la commande update :

mise à jour sudo apt

Installez ensuite le php-cli, décompresser et boucle à l'aide de la commande suivante :

sudo apt installer php-cli décompresser curl

Vous serez invité à confirmer l'installation, appuyez sur Oui puis appuyez sur Entrée. Une fois que vous avez rempli toutes les conditions préalables, vous pouvez continuer à installer Composer.

Télécharger et installer le compositeur

Composer propose un script PHP soigné pour le télécharger et l'installer sur votre machine à partir de la ligne de commande. Nous devons utiliser boucle pour télécharger ce script, vérifiez son authenticité pour des raisons de sécurité, puis exécutez-le pour installer Composer.

Assurez-vous que votre terminal est ouvert dans le répertoire personnel, puis téléchargez le script d'installation en utilisant boucle:

cd ~ curl -sS //getcomposer.org/installer -o composer-setup.php

Ensuite, nous devons vérifier que le script d'installation que nous avons téléchargé est authentique en faisant correspondre son hachage SHA-384 à celui trouvé sur la page Composer Public Key/Checksums. Pour ce faire, obtenez le hachage SHA-384 à partir de la page Composer Public Key et stockez-le dans une variable shell.

Hash=`curl -sS //composer.github.io/installer.sig`

Vérifiez ensuite que vous avez obtenu et stocké avec succès le hachage dans la variable en exécutant :

echo $Hash

Vous devriez obtenir une sortie d'une chaîne aléatoire telle que celle-ci à partir du terminal :

Sortir: e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a

Maintenant, exécutez le code PHP suivant fourni par Composer pour vérifier l'authenticité du script d'installation :

php -r "if (hash_file('SHA384', 'composer-setup.php') === '$Hash') { echo 'Installateur vérifié'; } else { echo 'Installateur corrompu'; unlink('composer-setup .php'); } echo PHP_EOL;"
Sortir: Installateur vérifié

Si vous voyez une autre sortie telle que Programme d'installation corrompu, alors vous saurez que le script est corrompu et qu'il n'est pas sûr à exécuter. Téléchargez à nouveau le script à l'aide de curl, puis exécutez à nouveau le code PHP dans le terminal pour vérifier le script d'installation.

Vous pouvez continuer l'installation lorsque vous avez vérifié le programme d'installation avec succès. Vous pouvez installer Install the Composer globalement ou localement pour un seul projet.

Installer Composer globalement

Pour installer Composer globalement en tant que commande à l'échelle du système nommée compositeur, exécutez la commande suivante :

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Composer sera installé dans le /usr/local/bin répertoire sur votre système Ubuntu 20.04 et vous verrez une sortie comme celle-ci :

Sortir: Tous les paramètres sont corrects pour l'utilisation de Composer Téléchargement... Composer (version 1.10.7) installé avec succès sur : /usr/local/bin/composer Utilisez-le : php /usr/local/bin/composer 

Vérifiez que Composer est correctement installé et fonctionnel en exécutant :

compositeur
Sortir: ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ / /___/ /_/ / / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Compositeur version 1.10.7 2020-06- 03 10:03:56 Utilisation : commande [options] [arguments] 

Vous avez installé avec succès composer sur votre système Ubuntu 20.04. Vous pouvez maintenant commencer à utiliser Composer pour gérer, mettre à jour et installer immédiatement les dépendances dans vos projets PHP.

Installer Composer localement

L'installation de Composer localement est utile lorsque vous n'êtes pas autorisé à l'installer à l'échelle du système ou si vous souhaitez que Composer ne concerne qu'un seul projet. Pour installer composer localement, exécutez :

php composer-setup.php

La commande ci-dessus créera un nouveau fichier dans votre répertoire actuel appelé compositeur.phar. Vous devrez déplacer ce fichier dans le dossier racine du projet pour utiliser les fonctionnalités de Composer. Ce fichier peut être exécuté à l'aide de la commande ci-dessous.

php composer.phar

Notions de base sur le compositeur

Maintenant que Composer est installé sur votre machine Ubuntu 20.04, examinons quelques bases de Composer. Composer vise à faciliter l'installation et les mises à jour des dépendances et pour ce faire, il crée de nombreux fichiers dans le répertoire racine du projet. Examinons la structure de répertoires d'un projet utilisant Composer pour gérer les dépendances.

Compositeur Structure racine du projet :Racine du projet/ composer.json composer.lock Project.php ├── compositeur.phar *Uniquement si vous avez installé Composer localement └── vendeur autoload.php ├── compositeur ├── ClassLoader.php ├── LICENSE ├── autoload_classmap.php │ ├── ..... ├── ....... 
  • le compositeur.json situé dans le répertoire racine du projet stocke toutes les informations sur les dépendances (packages) requises par le projet.
  • le compositeur.lock contient les informations sur les packages dont la version est verrouillée pour le projet.
  • vendeur est le répertoire où sont stockés tous les packages, il contient également des scripts PHP tels que autoload.php, ce qui facilite l'inclusion automatique des packages dans le répertoire des fournisseurs.
  • Enfin, si vous avez installé Composer localement, vous devez avoir compositeur.phar dans le répertoire du projet pour installer les packages.

Tous ces fichiers sont créés lorsque vous utilisez le compositeur ou php composer.phar pour télécharger et installer des packages pour votre projet la première fois. Voyons donc le fonctionnement de Composer en créant un projet de démonstration.

Création de votre premier projet à l'aide de Composer

La première étape consiste à créer un répertoire racine pour votre projet, alors créez-en un avec mkdir commande et accédez-y en utilisant CD commander:

mkdir ~/ComposerDemo cd ~/ComposerDemo

Maintenant, nous devons trouver et installer les packages/bibliothèques requis pour construire notre projet de démonstration. Packagist est le référentiel principal de Composer qui répertorie tous les packages PHP publiquement disponibles qui peuvent être installés avec Composer.

Dans cet exemple, nous utiliserons un package PHP appelé cakephp/chronos, il s'agit d'une simple extension d'API pour la date et l'heure. Ainsi pour générer un nouveau projet Composer et installer le package Chronos exécutez la commande suivante :

le compositeur requiert cakephp/chronos
Sortir: L'utilisation de la version ^2.0 pour cakephp/chronos ./composer.json a été créée Chargement des référentiels composer avec les informations sur les packages Mise à jour des dépendances (y compris require-dev) Opérations sur les packages : 1 installation, 0 mises à jour, 0 suppressions - Installation de cakephp/chronos (2.0.5 ) : Téléchargement (100%) Écriture du fichier de verrouillage Génération de fichiers à chargement automatique 

le exiger L'option récupère et installe le package que vous souhaitez et génère les fichiers et répertoires tels que compositeur.json, compositeur.lock et vendeur dans le répertoire racine du projet. Tu verras ça cakephp/chronos est ajouté à la compositeur.json si vous exécutez la commande suivante :

chat compositeur.json
Sortir: { "require": { "cakephp/chronos": "^2.0" } } 

Ensuite, utilisons Chronos dans notre projet de démonstration, ouvrons et créons un fichier PHP appelé démo.php utilisant nano:

démo nano.php

Ajoutez ensuite le code suivant au démo.php, la deuxième ligne qui comprend vendeur/autoload.php est un fichier Composer qui charge automatiquement tous les packages et bibliothèques installés pour le projet. Enregistrez le fichier en appuyant sur Ctrl+O puis quittez l'éditeur nano en appuyant sur Ctrl+X.

Exécuter le démo.php en exécutant la commande suivante :

démo php.php
Sortir: Maintenant : 23/06/2020 17:07:45

À l'avenir, lorsque vous devrez mettre à jour les packages et les bibliothèques de votre projet, exécutez simplement la commande suivante :

mise à jour du compositeur

La commande ci-dessus vérifiera la version la plus récente des packages installés et les mettra à jour en toute sécurité sans casser le projet et ses bibliothèques interdépendantes.

Nous avons examiné comment installer Composer sur une machine Ubuntu 20.04 et examiné les bases que vous devez connaître sur Composer. Vous pouvez maintenant essayer de créer de nouveaux projets en ajoutant les packages requis en recherchant sur Packagist. Si vous souhaitez en savoir plus sur Composer et ses options, rendez-vous sur la page de documentation en ligne de Composer.