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 :

Stockage de message d'erreur dans un ficher YML [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut Stockage de message d'erreur dans un ficher YML
    Bonjour à tous !

    Je veux stocker les messages d'erreur de mon application dans un fichier YML. Je ne veux pas le faire dans le fichier app.yml qui est un fichier de configuration.

    J'ai donc créé un fichier à part.

    Comment faire pour que ce fichier soit pris en compte par Symfony et accessible à la manière 'sfConfig::get('cle');' ?

    Si vous avez de meilleurs solutions je suis également preneur .

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Bonjour,

    Si tu veux pouvoir créer et gérer des fichiers de configuration yaml, il faut créer un configuration handler, ce qui te permettra de définir toi-même une syntaxe pour tes fichiers yaml et les transformer en code php.
    Maintenant je ne sais pas si c'est exactement ce que tu souhaites faire, ou si tu veux un système de gestion d'erreur personnalisé ?

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    C'est exactement ce que je cherchais - il faut donc que je crée une classe spécifique.

    Je vais me baser sur ce qui existe déja dans Symfony.

    Merci pour ta réponse

  4. #4
    Membre averti
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Points : 445
    Points
    445
    Billets dans le blog
    7
    Par défaut
    Pour moi je me contente de cette méthode static sous lib/myUser.class.php du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static function msg($idMessage,$param=array()){
     
    		$msg=array() ;
    		$msg[0] = 'Bonjour' ;
    		$msg[1] = 'bla bla bla' ;
    		$msg[2] = 'Bonsoir' ;
                    $msg[3] = 'bonjour %s %s' ;
    		return isset($msg[$idMessage])?vsprintf($msg[$idMessage],$param):'index introuvable' ;
     
    	}
    ensuite dans l'appel :
    ou dans le cas d'un message paramétrable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo myUser::msg(3,array('Ahmed','phpiste')) ;

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    Et donc si tu veux modifier un message d'erreur, tu modifie une classe PHP ?

    C'est un peu crade non ?

  6. #6
    Membre averti
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Points : 445
    Points
    445
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par MacReiben Voir le message
    Et donc si tu veux modifier un message d'erreur, tu modifie une classe PHP ?

    C'est un peu crade non ?
    oui , je sait que ce n'est pas le top mais je me contente pour continuer mes dev quoi ;
    enfin si tu trouve une autre façon je suis preneur

  7. #7
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    Les fichiers exécutables ne doivent pas être modifiés - on ne peut donc pas mettre de messages d'erreurs en dur dans le code.

    La méthode de Tsilefy (utilisation du config handler) est la meilleure : les messages d'erreurs sont modifiables sans toucher un seul fichier exécutable PHP. Une classe dédié se charge de les charger.

    Ton code est juste, mais posera des problèmes de maintenance à long terme.

  8. #8
    Membre averti
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Points : 445
    Points
    445
    Billets dans le blog
    7
    Par défaut
    OK
    voila j'ai créer un fichier msg.yml contenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    msg:
      bonjour: bonjour
      bonsoir: bonsoir
    Ensuite j'ai ajouter dans mon config_handler les lignes suivantes :
    config/msg.yml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      class: sfDefineEnvironmentConfigHandler
      param:
        prefix: msg_
    enfin d'apres la doc on peut utliser an " Existing configuration handlers " pour pouvoir recuperer les messages avec sfConfig alors j'ai ecrit dans la vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <?php echo sfConfig::get('msg_bonsoir'); ?>
    ce qui me retourne le vide avez vous une idée ou se trouve le problème ?
    et à+

  9. #9
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    Il faut que tu ajoutes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include(sfConfigCache::getInstance()->checkConfig(sfConfig::get('sf_app_config_dir_name').'/msg.yml'));
    Pour charger le fichier de configuration. Pour ma part je l'ai placé dans le controleur monapp_dev.php ; mais je pense que ce n'est pas judicieux.

    Ceci dit, le fichier est chargé, donc si quelqu'un a une idée à ce sujet.

    Source : doc de symfony, je l'ai pas sorti de mon chapeau

  10. #10
    Membre averti
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Points : 445
    Points
    445
    Billets dans le blog
    7
    Par défaut
    ça marche pas malgré que je l'ai ajouté dans mon controller
    any help please

  11. #11
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    Recherche le fichier cache, à l'intérieur tu devrais avoir un dossier dev, dans ce dossier dev tu dois avoir un fichier genre config_msg.yml.php.

    Si tu ne trouves pas le fichier en question, c'est qu'il y a un problème.

    Si il y est, ouvres le. Tu dois voir dedans ce qu'il ajoute réelement au fichier de config.

    A noté que si tu utilises ce handler, tu dois avoir au moins une section all. Ce handler est le même que celui qui parse ton fichier app.yml.

  12. #12
    Membre averti
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Points : 445
    Points
    445
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par MacReiben Voir le message
    Recherche le fichier cache, à l'intérieur tu devrais avoir un dossier dev, dans ce dossier dev tu dois avoir un fichier genre config_msg.yml.php.
    euh il est vide ce fichier

  13. #13
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2004
    Messages
    265
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 265
    Points : 332
    Points
    332
    Par défaut
    Met quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    all:
        perso_bonsoir: 'Bonsoir tout le monde'
    Dis moi si ça t'affiche quelque chose ; tu mets que ça dans msg.yml.

  14. #14
    Membre averti
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Points : 445
    Points
    445
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par MacReiben Voir le message
    Dis moi si ça t'affiche quelque chose ; tu mets que ça dans msg.yml.
    Il m'affiche bien "Bonsoir tout le monde" Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher un message d'erreur dans une fenêtre popup
    Par Quickeno dans le forum Langage
    Réponses: 7
    Dernier message: 08/10/2006, 02h56
  2. Réponses: 4
    Dernier message: 24/08/2006, 11h19
  3. message d'erreur dans sous formulaire
    Par tojiji dans le forum Access
    Réponses: 6
    Dernier message: 28/07/2006, 13h09
  4. Message d'erreur dans phpMyadmin
    Par riadh100 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 26/09/2005, 15h03
  5. [Tiles]message d'erreur dans un footer (form mal rempli)
    Par clement42 dans le forum Struts 1
    Réponses: 5
    Dernier message: 09/06/2005, 15h51

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