Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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 :
; 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 :
$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 :
; 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
Pages: 1