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 queautoload.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.