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 :

Lire des paramètres dans un fichier de configuration [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 53
    Points : 47
    Points
    47
    Par défaut Lire des paramètres dans un fichier de configuration
    Bonjour,

    J'aimerais stocker des paramètres pour mon application dans un fichier de configuration (un peu à la manière dont on stocke des paramètres dans un fichier .properties en java).

    Comment dois-je procéder ?

    Est-ce que je peux créer un fichier config.yml dans le dossier Resources/config/ de mon bundle ?

    Comment puis-je ensuite le lire ?

    Je ne trouve pas d'info là dessus dans le documentation officielle.

    Merci d'avance
    DJ Malo

    www.radioabf.net
    La radio 100 % musiques électroniques sans pub.

  2. #2
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    Salut,

    Effectivement tu fois faire un Resources/config/cequetuveux.yml qui ressemble a ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    parameters:
        param1: val1
        param2: val2
    Ensuite pour charger tout ca dans les parametres du container (disponible via $this->container->getParameter('ton_parametre') depuis un controller), tu dois creer le fichier DependencyInjection/tonBundleExtension.php avec ce contenu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    namespace winzou\CacheBundle\DependencyInjection;
     
    use Symfony\Component\DependencyInjection\ContainerBuilder;
    use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
    use Symfony\Component\HttpKernel\DependencyInjection\Extension;
    use Symfony\Component\Config\FileLocator;
     
    /**
     * Extension for the bundle winzouCacheExtension
     * @author winzou
     */
    class winzouCacheExtension extends Extension
    {
        /**
         * @see Symfony\Component\DependencyInjection\Extension.ExtensionInterface::load()
         */
        public function load(array $configs, ContainerBuilder $container)
        {
            $loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
            $loader->load('cequetuveux.yml');
        }
    }

  3. #3
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 53
    Points : 47
    Points
    47
    Par défaut
    Le dossier DependencyInjection il faut donc bien le créer dans le répertoire de son Bundle ?

    J'ai essayé et la méthode load() de mon Extension n'est pas appelée.
    Je suppose qu'il faut déclarer cette extension quelque part ?
    DJ Malo

    www.radioabf.net
    La radio 100 % musiques électroniques sans pub.

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Citation Envoyé par djmalo Voir le message
    Le dossier DependencyInjection il faut donc bien le créer dans le répertoire de son Bundle ?
    Oui.

    Citation Envoyé par djmalo Voir le message
    J'ai essayé et la méthode load() de mon Extension n'est pas appelée.
    Il faut voir si le nom du fichier et de la classe correspondent (), mais surtout s'ils correspondent au standard imposé par Sf2. Nom du bundle (Bundle) ? Nom de la classe (BundleExtension) ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre du Club
    Inscrit en
    Avril 2002
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 53
    Points : 47
    Points
    47
    Par défaut
    Ok, en fait ça marche bien.
    J'ai du faire un php app/console cache:clear avant
    DJ Malo

    www.radioabf.net
    La radio 100 % musiques électroniques sans pub.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/01/2014, 16h01
  2. Ecrire & Lire des énumérés dans un fichier Texte
    Par WebPac dans le forum Langage
    Réponses: 8
    Dernier message: 18/06/2008, 10h04
  3. [VBS]Lire des données dans un fichier .txt
    Par kacxial dans le forum VBScript
    Réponses: 4
    Dernier message: 28/02/2007, 13h44
  4. Configurer des paramétres dans le fichier server.xml
    Par root76 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 13/02/2007, 17h16
  5. [VBA-E] Lire des valeurs dans un fichier excel
    Par nicobox dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/05/2006, 15h40

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