Variable globale modifiable
Bonjour,
J'ai besoin pour mon projet de gérer une série de variables.
Ces données doivent être modifiables en ligne (pas via l'édition des fichiers en dur).
De plus, ces variables doivent être liées à "locale" (multi-lingue)
Note: ces données doivent être accessibles via les controllers et twig
J'hésite sur la méthode car je ne sais pas laquelle sera la plus propre.
Soit on gère cela en fichier (Choix 1)
J'ai déjà un fichier équivalent à "parameters.yml" ainsi que les fichiers "messages.en.yml" et l'équivalent en français.
Le problème dans ce cas c'est de pouvoir modifier ces fichiers.
J'ai lu quelque part qu'il était possible de modifier (ou plutôt de réécrire) ces fichiers mais là on parle de fichiers dans le répertoire "app". Est-ce possible ?
Sinon, je mets tout cela en BDD. Mais dans ce cas deux solutions:
- Soit je fais un appel à la BDD à chaque fois que j'ai besoin d'afficher le bon libellé (Choix 2)
- Soit je lis toute la table au début et j'affiche les données utiles pour ma page. (Choix 3)
Personnellement, je pense que le choix 1 sera le plus rapide et le moins consommateur de ressources.
Maintenant, existe-t-il une solution simple pour modifier ces fichiers simplement ?
Idéalement, il faudrait un équivalent des fichiers "messages.en.yml" et "messages.fr.yml".
D'avance merci !
Arnaud LEF97
Lecture variables via session
Bonjour,
En relisant mon message, je me rends compte que je n'ai pas été très clair.
Le lexique que je compte faire, c'est un peu comme un fichier INI.
Il s'agit d'une trentaines de variables correspondant à de données de l'application qui ne changent pas (ou alors une fois par an).
On peut considérer que ce sont des constantes et pas des variables.
Petite particularité, il faut que le multilingue soit géré.
J'ai regardé du côté filesystem et effectivement, il y a des pistes.
Le fait de le faire via BDD me semble plus propre mais dans le pire des cas, je vais devoir à chaque chargement de page faire 30 requêtes pour récupérer mes données.
Je trouve cela vraiment lourd (OK, ce sont des petites requêtes, mais c'est inutile car on sait que ces données ne changeront pas à la page suivante).
D'où une autre idée, stocker ces données en session.
A la première page, il me fait mes 30 requêtes (ou une requête qui me prend le max d'infos) et ensuite me stocke les données en session.
Ensuite, pendant le traitement de la première page et des suivantes, je n'utilise que mes données en session.
Est-ce une bonne méthode à votre avis ?
Cordialement,
Arnaud LEF97