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, mise à jour et désinstallation de paquets
- Gestion automatique des dépendances
- Pas de mise sous contrôle des fichiers sources des dépendances, une simple référence suffit
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.