Formation PUB030 : Laravel, 2019 Les outils de Laravel

2.6 composer


composer est un gestionnaire de dépendances. Il permet d'ajouter des paquets (parfois appelés modules ou, en anglais, packages) dans notre application tout en s'assurant que tous les autres paquets requis soient automatiquement ajoutés.

Installation

Composer est installé par défaut dans une boîte Homestead.

Il peut être installé dans tout environnement comme suit.

Linux / Mac

Ouvrez une fenêtre Terminal.

Placez-vous dans le dossier de votre application.

Entrez ces commandes 1 :

Terminal

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Windows

Sous Windows, il faut télécharger le fichier d'installation que vous trouverez sur cette page : https://getcomposer.org/doc/00-intro.md#installation-windows.

Commandes composer

Les commandes composer sont lancées à partir de la console ssh. Vous devez vous placer dans le dossier de votre application sur la machine virtuelle avant de lancer une commande composer.

Les commandes composer utilisent généralement le format suivant :

Syntaxe composer

composer action editeur/paquet --options

Voici quelques commandes composer utiles. Notez que pour certaines, vous pourriez avoir besoin de faire un sodu.

Commande Utilité Exemple
composer create-project  Crée un projet Laravel.

composer create-project laravel/laravel nomprojet --prefer-dist 

 

composer create-project laravel/laravel nomprojet 5.7.*

composer require editeur/paquet

Ajoute un paquet et de ses dépendances. composer require knplabs/knp-snappy

composer remove editeur/paquet

Retire un paquet. Ceci enlèvera la référence dans le fichier composer.json, supprimera le ou les dossiers correspondants sous le dossier vendor puis fera un composer dump-autoload -o. composer remove laravelcollective/html
composer install

Installe tous les paquets listés dans le fichier composer.json ainsi que toutes leurs dépendances en respectant les versions précisées dans composer.lock.

Se charge de regénérer la liste des classes qui doivent être incluses dans le projet (composer dump-autoload -o).

Pour faire l'équivalent sans console SSH (ex : avec un hébergement partagé), le plus simple est de recopier le dossier vendor au complet à partir du serveur de développement vers les dossiers du site Web chez votre hébergeur.

 
composer outdated

Affiche la liste des paquets, parmi ceux listés dans le fichier composer.json,  pour lesquels une nouvelle version est disponible.

 
composer update

Comme composer install mais va chercher toutes les versions les plus récentes. Les fichiers composer.json et composer.lock seront modifiés pour indiquer les versions utilisées.

Attention : ceci pourrait changer la version de Laravel utilisée et vous forcer à modifier des sections de votre code, tel que spécifié dans le guide de mise à jour de Laravel.

Il est possible de ne mettre à jour qu'un seul paquet. Composer ira lire la version dans composer.json et ajustera les fichiers du paquet pour qu'ils correspondent à cette version.

composer update

 

composer update proengsoft/laravel-jsvalidation
 

composer dump-autoload -o

Regénére la liste des classes qui doivent être incluses dans le projet.

L'option -o tient pour « optimize ». Elle devrait toujours être utilisée sauf peut-être pendant le développement si le temps nécessaire pour faire l'optimisation est trop long.

Pour faire l'équivalent sans console SSH (ex : avec un hébergement partagé), vous devez supprimer le fichier vendor\autoload.php ainsi que tous les fichiers présents dans le dossier vendor\composer sur le serveur puis les remplacer par ceux générés par cette commande sur votre serveur de développement.

 
composer self-update Met à jour composer lui-même. On peut aussi préciser une version.

composer self-update

composer self-update 1.9.0

composer self-update --update-keys Réinitialise les clés de composer - pourrait régler certains problèmes obtenus lors d'un composer require. Pour obtenir les clés, rendez-vous à https://composer.github.io/pubkeys.html.  
composer diagnose Diagnostic des problèmes courants.  
composer clear-cache Vide la mémoire cache - pourrait régler certains problèmes obtenus lors d'un composer require  
composer show Affiche la liste des paquets installés et de leur version  
composer -v Mode versbose : Affiche la version de Composer ainsi que les options disponibles  
composer -V Affiche la version de Composer  

Source

1. « Download Composer ». Composer. https://getcomposer.org/download/

Pour plus d'information

« Command-line interface / Commands ». Composer. https://getcomposer.org/doc/03-cli.md

«  What does ‘composer dump-autoload’ do in Laravel? ». developped.be. http://developed.be/2014/08/29/composer-dump-autoload-laravel/

« PHP: The Composer Lock File ». Dayle Rees. https://daylerees.com/the-composer-lock-file/

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre