Gestionnaire de paquets

C'est un outil pour automatiser la gestion (installation, mise à jour et désinstallation) de paquets. Ici, nous utiliserons Composer qui permet facilement de gérer les dépendances d'un projet. On pourra ainsi facilement faire appel à des bibliothèques tierces (avec leurs propres dépendances qui seront elles aussi gérées automatiquement par Composer)

Parmi les avantages :

Installation

Extrait de la documentation officielle :

~public_html/symfony/$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
~public_html/symfony/$ php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
~public_html/symfony/$ php composer-setup.php
~public_html/symfony/$ php -r "unlink('composer-setup.php');"
        

Utilisation de la ligne de commande

Mise à jour de l'utilitaire

~public_html/symfony/$ ./composer.phar self-update

You are already using composer version 1.3.1 (stable channel).
        

Mise à jour des paquets

~public_html/symfony/$ ./composer.phar update

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 5 updates, 0 removals
  - Updating doctrine/collections (v1.3.0 => v1.4.0) Downloading: 100%
  - Updating doctrine/dbal (v2.5.8 => v2.5.10) Downloading: 100%
  - Updating doctrine/doctrine-bundle (1.6.6 => 1.6.7) Downloading: 100%
  - Updating phpunit/phpunit (4.8.31 => 4.8.32) Downloading: 100%
Writing lock file
Generating autoload files
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache
        

On voit ici que Composer a mis à jour toutes les dépendances, dont celles de Symfony, gérées elles aussi à travers Composer.