Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-10-2009 09:21:51

gcr01
Membre
Date d'inscription: 28-08-2009
Messages: 17

recuperer variable sans appeler Zend_Config

Bonjour  a tous,


Quand je charge Zend_Application, j'ajoute en parametre le fichier application.ini qui contient tous les parametres.
Voici le code dans index.html

Code:

$application = new Zend_application( 
         APPLICATION_ENV,
         APPLICATION_PATH . '/configs/application.ini'
);

Dans le fichier application.ini

Code:

resources.db.adapter = "MYSQLI"
resources.db.params.host ="localhost"
....

Maintenant, dans le Bootstrap ou un controller, je voudrais recuperer "resources.db"

Je sais qu'on sais le recuperer par un Zend_Config mais comment est-ce possible de le recuperer dans une variable déjà existante ?
Comme Zend_DB_Table sait l'utiliser sans le specifier, il doit bien avoir un 'truc'


Merci,
gilles

Hors ligne

 

#2 12-10-2009 10:25:42

openaccess
Membre
Date d'inscription: 12-10-2009
Messages: 16

Re: recuperer variable sans appeler Zend_Config

Si Zend_db_Table sait récupérer cette valeur c'est parce qu'elle est passé en paramètre dans Zend_Application.
Voici le cheminement :
1/ Tu instancies Zend_Application avec le application.ini en paramètre.
2/ Zend_Application appelle la methode factory Zend_Db avec en paramètre un tableau contenant les paramètre de la base de donnés issu de application.ini

Maintenant si tu veux récupérer "resources.db" sans appeller Zend_Config, tu peux ajouter ceci à Bootstrap.php:

Code:

public function _initDatabase()
{
     $this->bootstrapDb();
     $db = $this->getResource('db');
     Zend_Registry::set("db", $db);
}

Et ensuite tu l'appelle ou tu veux dans ton application:

Code:

Zend_Registry::get("db", $db);

Hors ligne

 

#3 12-10-2009 21:20:31

mdelanno
Membre
Lieu: Nord
Date d'inscription: 26-08-2007
Messages: 90
Site web

Re: recuperer variable sans appeler Zend_Config

Il faut noter que tu peux également récupérer les ressources depuis un contrôleur avec :

Code:

$bootstrap = $this->getInvokeArg('bootstrap');
$db = $bootstrap->getResource('db');

Dernière modification par mdelanno (12-10-2009 21:22:42)

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