Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 11-12-2012 00:49:38

RomainB
Membre
Lieu: Montpellier
Date d'inscription: 30-11-2012
Messages: 12
Site web

Configuration personnalisée ? gerer des couples clé=valeur...

Bonsoir,

Je souhaiterais savoir comment manipuler un fichier de configuration avec des "constantes" accessible via mes modeles, mes controller, etc
Je m'explique:
Je souhaiterais avoir, dans un fichier de config (array php, ini, ...) une liste de clé-valeur pour, par exemple, gerer un nombre de ligne de un tableau (nb_comment_page = 10, pour avoir 10 resultat par page OU nb_jours_valide=30 pour afficher des commentaire de moins de 30j)

Ces parametres doivent être accessible relativement partout (que ce soit dans un controlleur, ou dans un modele TableGateway, même si pour l'instant, je n'en aurais besoin que dans mes modeles...)

Avec ZF1, pas de pb, je mettais une methode _initConfig() dans le bootstrap et j'enregistrer mon objet config via ZendRegistry::set('config', $config) et je pouvais ainsi le recuperer partout via $config = Zend_Registry::get('config) (puis $config->nb_comment_page me retourner ma valeur 10.

Comment puis-je avoir un equivalent avec ZF2 ?

Merci d'avance

Dernière modification par RomainB (11-12-2012 01:13:25)

Hors ligne

 

#2 11-12-2012 09:48:59

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Configuration personnalisée ? gerer des couples clé=valeur...

Salut, tu peux le faire via le fichier module.config.php de la même manière que tu y déclares les paramètres de connexion à la base de données etc ...

Hors ligne

 

#3 11-12-2012 10:13:05

RomainB
Membre
Lieu: Montpellier
Date d'inscription: 30-11-2012
Messages: 12
Site web

Re: Configuration personnalisée ? gerer des couples clé=valeur...

Orkin a écrit:

Salut, tu peux le faire via le fichier module.config.php de la même manière que tu y déclares les paramètres de connexion à la base de données etc ...

Merci pour ta réponse
Et comment j'y accède par la suite ?

J'ai trouvé ça, que je met dans mon Module.php:

Code:

[lang=php]$config = $this->getServiceLocator()->get('Config');

puis je l'injecte dans mes controllers (setConfig() définit dans mon controller hérité par mes autres controllers)

Code:

[lang=php]$controller->setConfig($config)

A priori, ca fonctionne bien (j'arrive bien à récupérer mes paramètres).

Est-ce la bonne façon de faire ?

Hors ligne

 

#4 11-12-2012 10:16:11

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Configuration personnalisée ? gerer des couples clé=valeur...

Ca me semble pas mal, enfin il y a de l'idée mais je pense que le mieux c'est de passer par une factory et de créer une classe option avec juste ce dont tu as besoin avec getter/setter comme ça tu ne prends pas de risque de modifier la configuration de base de l'application.

De cette façon tu vas déclarer ta factory dans ton Module.php et y mettre un alias tu pourras ensuite le récupérer partout où tu auras accès au service manager via un get('alias')

Hors ligne

 

#5 11-12-2012 10:23:01

RomainB
Membre
Lieu: Montpellier
Date d'inscription: 30-11-2012
Messages: 12
Site web

Re: Configuration personnalisée ? gerer des couples clé=valeur...

Ok, merci, je regarderais ça :-)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages