Symfony 2 est basé sur GIT. Avec GIT il existe plusieurs moyen d’intégrer d’autres projets GIT :
- un clone tout bête
- utiliser les sous-modules (submodules)
Si votre projet utilise lui-aussi GIT, il est gênant d’utiliser la première technique. En effet, le contenu des autres projets GIT n’est pas envoyé sur le serveur, et aucune information sur la version n’est conservée. Utiliser les sous-modules permet de palier ce problème puisque vous aller gérer vous même les versions des projets liés et que tout sera stocker dans un fichier .gitmodules. Mais il faut l’avouer, la gestion des sous-modules n’est pas des plus marrants. Ce qui serait bien c’est un mélange des deux… Et bien c’est le système mis en place par l’équipe de Symfony : les dépendances (stockées dans le dossier vendors) sont des projets GIT et qui sont clonés dans votre projet lorsque vous faites php bin/vendors install à l’initialisation de votre projet. Les versions et les liens sont stockés dans les fichiers deps et deps.lock. Autre avantage, ce n’est pas vous qui gérez les versions des dépendances. En effet, quand vous téléchargez la version standard de symfony pour votre projet, celle-ci est conçue pour les versions spécifiées des librairies et toolkits tels que  symfony lui-même ou encore doctrine. Il est donc préférable de laisser l’équipe de Symfony gérer les versions et dépendances du projet.
Pourquoi tout ce blah-blah ? Et bien si vous avez bien suivi, vous avez compris que lors de la sortie d’une nouvelle version de Symfony, il suffit de copier les fichiers deps de la nouvelle version dans votre projet, puis de lancer ceci dans votre terminal :
php bin/vendors update
php ./app/console cache:clear
Ne vous trompez pas, la commande update ne fait que mettre à jour les dépendances à la version stockée dans le fichier deps et l’inscrit dans deps.lock. Ce qui est curieux c’est que l’équipe de Symfony conseil elle de remplacer les deux fichiers, deps et deps.lock et de faire un :
php bin/vendors install
php ./app/console cache:clear
Have fnu coding!









