La configuration par environnement
Comprendre comment Symfony organise sa configuration selon le contexte d'exécution : développement, production, tests.
Notions théoriques
Les 3 environnements Symfony
Depuis la séance sur Doctrine, vous utilisez un fichier .env.local pour configurer DATABASE_URL. Mais Symfony ne s'exécute pas toujours dans le même contexte. Il prévoit 3 environnements différents :
dev(développement) : utilisé quand vous travaillez sur votre machine. Les erreurs sont affichées en détail, avec la barre de débogage (profiler) en bas de page, et le cache est régénéré automatiquement à chaque modification.prod(production) : utilisé une fois l'application mise en ligne pour de vrais utilisateurs. Les erreurs détaillées sont masquées (remplacées par une page d'erreur générique), et les performances sont optimisées (cache figé, pas de profiler).test(tests automatisés) : utilisé quand vous exécutez des tests automatiques (voir la séance sur les tests unitaires et fonctionnels). Il permet d'utiliser une configuration isolée, par exemple une base de données de test différente de celle de développement.
info
L'environnement actif est défini par la variable d'environnement APP_ENV, présente dans le fichier .env. Par défaut, un nouveau projet Symfony démarre en environnement dev.