Paramétrer Symfony pour utiliser les fichiers .env

Je pensais que, comme le composant est fourni, il était activé…

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour tout le monde !

Je me suis penché sur les fichier .env aujourd’hui, parce que je me suis rendu compte que pour certains paramètres, je ne peux pas les versionner, et ces fichiers me semblent tout indiqués pour enregistrer ces valeurs.

Vu que je travaille avec Symfony 3.3.3, j’imaginais qu’il me suffirait de créer un fichier .env avec mes valeurs, et qu’il serait lu automatiquement. Vous vous en doutez, ce n’est pas le cas, mais ça me surprend.

Est-ce qu’il n’y a vraiment pas d’autre moyen que de modifier app.php et app_dev.php pour y mettre la ligne afin de charger explicitement la configuration ?

Merci  :)

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0

Je suppose que tu parles des conseils de la doc.

Tu as le .htaccess que tu peux mettre à la racine de Symfony, ou dans le dossier d’avant pour définir une variable d’environnement.

Ensuite dans app.php, tu lis la variable d’environnement.

Édité par A-312

Bon vol ! ✈️ // 🐺 Ami des loups // 🎮 Coding Game // 🐤 Twitter @A312_zds // @**A-312** pour me ping

+0 -0

C’est vrai qu’avoir les fichiers de configuration de chaque environnement peut poser problème. D’où l’utilisation des fichiers .env. Ma précédente réponse tombe à l’eau.

Je pense à cette annonce (plus précisément ce commentaire qui mentionne cette possibilité), et la documentation correspondante

Ymox

As-tu essayé de réécrire registerContainerConfiguration app/AppKernel.php ? En ajoutant le chargement du fichier .env ?

Bon vol ! ✈️ // 🐺 Ami des loups // 🎮 Coding Game // 🐤 Twitter @A312_zds // @**A-312** pour me ping

+0 -0
Auteur du sujet

Justement, c’est ce que j’essaie de comprendre si c’est évitable, parce que là, à chaque mise à jour (et il y en a eu quatre ces deux-trois dernières semaines), je vais devoir remettre ces chargements…

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0

Justement, c’est ce que j’essaie de comprendre si c’est évitable, parce que là, à chaque mise à jour (et il y en a eu quatre ces deux-trois dernières semaines), je vais devoir remettre ces chargements…

Ymox

Pour mettre à jour Symfony suis-tu ces instructions ? Il me semblait que c’était uniquement vendor qui devait être mis à jour et que app/AppKernel.php était propre à notre application. Et que c’était justement pour subir des modifications propre à notre application qu’elle héritait de la class Kernel de Symfony.

Édité par A-312

Bon vol ! ✈️ // 🐺 Ami des loups // 🎮 Coding Game // 🐤 Twitter @A312_zds // @**A-312** pour me ping

+0 -0
Auteur du sujet

Ouh, au temps pour moi.

Oui, je fais bien les mises à jour avec Composer, et du coup oui, je peux changer mon AppKernel… Mais l’objet DotEnv n’implémente pas LoaderInterface comme passé en paramètre de AppKernel::registerContainerConfiguration, donc je dois créer l’objet dans la méthode. Pas très pratique si celle-ci est appelée plusieurs fois… Enfin, je ne vois pas d’autre alternative.

Je reste surpris que ce ne soit pas "automatique", ni que la documentation ne soit pas un peu plus explicite, pour le coup.

Edit

Bon, en fait même charger le fichier .env avant les autres éléments de configuration ne fonctionne pas non plus.

Édité par Ymox

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Auteur du sujet

Non, j’ai laissé tombé. Avec Symfony 4, c’est automatiquement utilisé, et du coup le code pour charger le fichier .env est compris dans index.php (l’équivalent Symfony 4 de app.php et app_dev.php), ce qui règle le cas des mises à jour écrasant la chose.

La seule autre alternative que je verrais est de modifier les deux fichiers app.php et app_dev.php, d’en faire des copies (qui peuvent être versionnées aussi), et d’écraser les "vraies" versions suite aux mises à jour, quitte à faire un diff manuellement pour ne pas louper les éventuelles mises à jour du contenu officiel.

Édité par Ymox

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte