|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité de passage
![]() |
Bonjour à tous,
j'utilise le Zend_Config_Ini pour lire un fichier de type .ini pour stocker mes configurations de site dans ma variable ou objet $config. Tout simplement WoW! On peut faire hériter les configurations de prod vs dev, etc.... En second lieu, pour avoir accès à ma variable $config partout, on dit d'utiliser le Zend_Registry qui est en réalité un singleton! Je fais de même avec $db qui contient en réalité l'espèce de handler que je voudrait utiliser partout. Voici le plus important de mon fichier index.php: Code :
Devrais-je les stocker dans une variable privée de chaque classe controlleur lors de l'init() de celles-ci? Ca arrange pas mon problème, car je veux tout autant que mes views scripts puissent accéder à une portion de ma $config. Par exemple, je veux que le $config->template->baseurl ou $config->global->sitename soient incluent dans mes scripts de vues...... Cela devient un peu «error prone» de faire dans toutes les actions de tous mes controlleurs le genre de chose suivante: Code :
Il est évident que déclarer $config en global et hors de tout doute une mauvaise pratique, et vous me direz peut-etre que c'est ce que je semble chercher à faire! Que dois-je faire? Meilleure pratique? Ce que je pense faire est d'initialiser le $config dans le init(), ce qui est commun à tout le controlleur, de faire Code :
ais-je ratté completement le principe? Je cherche la perfection peut etre trop.... mais je veux bien démarer le projet... c'est tout Merci |
||||||
|
|
00
|
|
|
#2 | |||
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
Citation:
Pour ça je te conseille de créer une classe abstraite qui hérite de Zend_Controller_Action où tu mettra ce "init" Et ensuite tes contrôleurs hériteront de cette classe
__________________
Modérateur PHP |
|||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() |
Merci poru la réponse! En plein ce que je pensais!
vive la POO!!! |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Autre solution : développer un action helper qui contient le même init(). Cela permet de ne rien changer au code des controllers (ils héritent tous de Zend_Controller_Action).
|
|
|
00
|
|
|
#5 | |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 41 ![]() |
Citation:
J'ai pas encore saisi tout le concept des helpers. On peut donc, si je comprend bien créer un helper avec une fonction init() qui est automatiquement appellé lorsqu'on appelle un init() d'un certain controller? |
|
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 1 249 ![]() |
Dans le manuel ZF :
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com