IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Variable globale modifiable


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Points : 42
    Points
    42
    Par défaut 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

  2. #2
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2011
    Messages
    477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2011
    Messages : 477
    Points : 677
    Points
    677
    Par défaut
    Bonjour,

    Le composant FileSystem est ton ami.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    De part ton fonctionnel, pour moi c'est un blasphème de toucher a app, qui est un dossier de configuration de l'application.

    Donc tu mets tes paramètres en bdd (pour être modifiable en ligne facilement)
    Et tu fais un service qui gère tout ca avec des méthodes.
    Comme ca dans ton contrôleur t'as des méthodes réutilisable et lisible, du genre $service->initParametrePourLangueFr($desParametres);
    En plus ca sépare proprement les couches.

    Je le redit, je te déconseille fortement de bosser avec des fichiers

  4. #4
    Membre du Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Août 2004
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2004
    Messages : 39
    Points : 42
    Points
    42
    Par défaut 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

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 168
    Points : 219
    Points
    219
    Par défaut
    Doctrine dispose d'un système de cache (http://docs.doctrine-project.org/en/...e/caching.html)

    Mais dans ton cas un fichier peut certainement faire l'affaire.

    @+

Discussions similaires

  1. Réponses: 10
    Dernier message: 11/01/2015, 23h57
  2. Réponses: 10
    Dernier message: 23/12/2013, 11h23
  3. modifier une variable globale
    Par bobo696 dans le forum Débuter
    Réponses: 2
    Dernier message: 22/01/2009, 11h42
  4. Problème pour modifier une variable globale
    Par supertom dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 07/06/2007, 18h00
  5. Modifier une variable globale
    Par bahet dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2006, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo