Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-10-2007 17:51:37

andras
Membre
Date d'inscription: 26-09-2007
Messages: 11

Doc officielle sur Zend_Config_Ini très confusante

A toutes fins utiles, je signale que la doc de sur Zend_Config_Ini (http://framework.zend.com/manual/fr/zen … s.ini.html) me semble très confusante pour ceux qui démarrent avec Zend et ce package. C'est un problème d'exemple et non de traduction (l'exemple donné dans la version anglaise est le même).

En effet pour initialiser une connexion à la BDD ils donnent l'exemple de fichier config.ini suivant :

Code:

; Données de configuration du site de production
[production]
webhost           = www.example.com
database.type     = pdo_mysql
database.host     = db.example.com
database.username = dbuser
database.password = secret
database.name     = dbname

; Données de configuration du site de test héritant du site de production
; et surchargeant les clés nécessaires
[test : production]
database.host     = dev.example.com
database.username = devuser
database.password = devsecret

La doc dit qu'on peut alors charger le fichier de config et initaliser la connexion à la BDD en faisant :

Code:

$config = new Zend_Config_Ini('config.ini', 'test');
$db = Zend_Db::factory($config->database);

Cela ne marche pas avec l'exemple de config.ini donné pour 3 raisons :
- le nom du champ pour le driver de BD doit être 'adapter' et non 'type'
- le nom du champ pour le nom de BD doit être 'dbname' et non 'name'
- il doit y avoir un niveau 'params' en plus pour les champs host, username, password et dbname

Donc le "bon" config.ini doit être comme ceci :

Code:

; Données de configuration du site de production
[production]
webhost           = www.example.com
database.adapter     = pdo_mysql
database.params.host     = db.example.com
database.params.username = dbuser
database.params.password = secret
database.params.name     = dbname

; Données de configuration du site de test héritant du site de production
; et surchargeant les clés nécessaires
[test : production]
database.params.host     = dev.example.com
database.params.username = devuser
database.params.password = devsecret

On peut bien-sûr utiliser le fichier config.ini proposé mais il faudra reconstituer les bons paramètres avant d'appeler Zend_Db::factory()

Hope that helps.

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