Besoin d'aide sur Zend_Config_Writer
Bonjour,
Je galère sur un petit bout de code que j'ai du mal à finaliser : je veux arriver à ce résultat :
Créer un fichier de config.ini à l'aide Zend_Config_Writer avec le contenu suivant :
Citation:
[production]
;Base URL des medias du backend et baseurl du backend
siteurl.baseurle = "www.mondomaine.com/backend"
siteurl.css = "www.mondomaine.com/backend/css"
siteurl.medias = "www.mondomaine.com/backend/medias"
siteurl.js = "www.mondomaine.com/backend/js"
[staging : production]
;Base URL des medias du backend et baseurl du backend
siteurl.baseurle = "dev.mondomaine.com/dossier_site/backend"
siteurl.css = "dev.mondomaine.com/dossier_site/backend/css"
siteurl.medias = "dev.mondomaine.com/dossier_site/backend/medias"
siteurl.js = "dev.mondomaine.com/dossier_site/backend/js"
[testing : production]
[development : production]
;Base URL des medias du backend et baseurl du backend
siteurl.baseurle = "www.localhost.com/dossier_site/backend"
siteurl.css = "www.localhost.com/dossier_site/backend/css"
siteurl.medias = "www.localhost.com/dossier_site/backend/medias"
siteurl.js = "www.localhost.com/dossier_site/backend/js"
Voici le controller l'action du controller qui gère ça : pour l'instant ce sont des tests, les datas proviendront de la BD
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
public function traitementAction()
{
//Pas de vue au depart
$layout = Zend_Layout::getMvcInstance()->getLayout();
$this->getHelper($layout)->disableLayout();
$this->getHelper('viewRenderer')->setNoRender();
//Debut des tests
$config = new Zend_Config(array(), true);
$config->production = array();
$config->staging = array();
$config->testing = array();
$config->development = array();
//Branche
$config->production->siteurl = array();
$_arrSection = array(
'production' => array('staging', 'testing', 'development'));
$_arrRubriques = array('baseurle', 'css', 'medias', 'js');
foreach ($_arrSection as $racine => $listeExtends) {
//Branche Production
$config->$racine->siteurl = array();
foreach ($_arrRubriques as $rubrique){
$config->$racine->siteurl->$rubrique = array();
$config->$racine->siteurl->$rubrique = 'racine';
}
//Debut des sous sections
foreach($listeExtends as $section){
$config->setExtend($section, $racine);
//Test
foreach ($_arrRubriques as $rubrique){
$config->$section->siteurl = array();
$config->$section->siteurl->$rubrique = 'branches';
}
//Test
$config->development->siteurl = array();
$config->development->siteurl->baseurle = 'Branches';
$config->development->siteurl->css = 'Branches';
$config->development->siteurl->medias = 'Branches';
$config->development->siteurl->js = 'Branches';
}
}
//Zend_Debug::dump($config);exit;
$writer = new Zend_Config_Writer_Ini();
$writer->setConfig($config)
->setFilename(APPLICATION_PATH . "module_router.ini")
->write();
exit('on sort');
//********************************************************************
} |
Voici le résultat que j'obtiens pour l'instant avec ce code :
Citation:
[production]
siteurl.baseurle = "racine"
siteurl.css = "racine"
siteurl.medias = "racine"
siteurl.js = "racine"
[staging : production]
siteurl.js = "branches"
[testing : production]
siteurl.js = "branches"
[development : production]
siteurl.baseurle = "Branches"
siteurl.css = "Branches"
siteurl.medias = "Branches"
siteurl.js = "Branches"
Je ne vois pas ce qui fait que je n'obtiens pas mon résultat, d'avance merci pour votre aide : siteurl.js est la seule valeur qui apparait.