Composer est un outil de gestion des dépendances pour php, un peu comme cpan
pour perle. Si vous avez lu le tutoriel sur l'installation de cpan, l'architecture vous sera quelque peu familière. Composer, en tant qu'outil de ligne de commande, est le client qui peut récupérer et mettre à jour les bibliothèques php que nous marquons comme nécessaires, ainsi que les bibliothèques dont elles dépendent, etc.
La source de ces bibliothèques est packagist.org, un grand référentiel public de packages php. Nous pouvons parcourir le référentiel avec un navigateur pour trouver les packages que nous aimerions utiliser, puis les inclure dans nos projets avec l'aide de Composer. Et en résolvant les dépendances lui-même, Composer peut nous faciliter la vie si nous dépendons de packages externes. À notre tour, nous pouvons également partager nos bibliothèques, afin que la communauté puisse également y accéder via Composer.
Dans ce didacticiel, nous allons installer Composer sur Red Hat Enterprise Linux 8 et marquer un paquet comme dépendance nécessaire pour notre projet, pour voir l'outil fonctionner.
Dans ce didacticiel, vous apprendrez :
- Comment installer Composer
- Comment définir un package comme dépendance
- Comment installer des dépendances avec Composer
Aide principale du compositeur.
Configuration logicielle requise et conventions utilisées
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | Red Hat Enterprise Linux 8 |
Logiciel | Compositeur 1.8.0 |
Autre | Accès privilégié à votre système Linux en tant que root ou via le sudo commande. |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
Comment installer composer sur Redhat 8 instructions étape par étape
Pour pouvoir utiliser composer nous avons naturellement besoin de php
, avec quelques extensions. PHP 7.2 et ses extensions sont accessibles après avoir activé les référentiels de gestion des abonnements, ainsi que sur l'installateur distribué au format ISO.
- Nous devons d'abord installer les packages liés à PHP avec
dnf
:dnf install php php-cli php-zip php-json
- Nous pouvons maintenant télécharger le programme d'installation de Composer avec php :
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
- Pour pouvoir accéder à l'outil de n'importe où sur le système, nous le plaçons sur le
$PATH
./usr/local/bin
est inclus dans le$PATH
par défaut.# php composer-setup.php --install-dir=/usr/local/bin --filename=composer All settings correct for using Composer Downloading... Composer (version 1.8.0) successfully installed to: /usr/local/bin/composer Use it: php /usr/local/bin/composer
- Pour tester la fonctionnalité, nous créons un répertoire de travail qui est la racine de notre
php
projet de développement :$ mkdir myProject
Et saisissez-le :
$ cd myProject
Après avoir parcouru le référentiel, nous décidons que nous aurons besoin du
zend-eventmanager
paquet, version3.2.1
. Nous créons un fichier texte appelécomposer.json
avec le contenu suivant dans le répertoire racine de notre projet :{ "require": { "zendframework/zend-eventmanager": "3.2.1" } }
- Pour installer le package que nous avons défini comme dépendance, nous pouvons utiliser le
composer
fraîchement installé :$ composer install Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing zendframework/zend-eventmanager (3.2.1): Downloading (100%) zendframework/zend-eventmanager suggests installing container-interop/container-interop (^1.1.0, to use the lazy listeners feature) zendframework/zend-eventmanager suggests installing zendframework/zend-stdlib (^2.7.3 || ^3.0, to use the FilterChain feature) Writing lock file Generating autoload files
Si nous listons notre répertoire de travail, nous verrons un fichier de verrouillage et un
vendor
annuaire. Le dernier est celui oùcomposer
téléchargé les packages requis.$ ls composer.json composer.lock vendor
$ ls vendor/ autoload.php composer zendframework
Au sein du
vendor
répertoire est le paquet dont nous avions besoin, et unautoload.php
. C'est le seul fichier que nous devons inclure dans notre code pour utiliser l'une des bibliothèques que nous avons installées aveccomposer
. Il est régénéré lors de l'installation/de la mise à niveau d'un nouveau package.