Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 01-12-2007 14:10:42

tonino
Nouveau membre
Date d'inscription: 12-10-2007
Messages: 4

[zend_db/zend_config][1.0.0]Adapter name must be specified in a string

Bonjour,

Je teste ceci :

Code:

<?php
require_once 'Zend/Config.php';
require_once 'Zend/Db.php';

$config = new Zend_Config(
    array(
        'database' => array(
            'adapter' => 'Mysqli',
            'params' => array(
                'dbname' => 'test',
                'username' => 'webuser',
                'password' => 'secret',
            )
        )
    )
);

$db = Zend_Db::factory($config->database);
?>

J'obtiens cela :

Fatal error: Uncaught exception 'Zend_Db_Exception' with message 'Adapter name must be specified in a string.' in C:\wamp\www\...\Zend\Db.php:165 Stack trace: #0 C:\wamp\www\...\test\db\db0.php(23): Zend_Db::factory(Object(Zend_Config)) #1 {main} thrown in C:\wamp\www\...\Zend\Db.php on line 165

Pourriez-vous me renseigner sur cet état de fait?
Merci de vos réponses

Hors ligne

 

#2 01-12-2007 15:10:27

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [zend_db/zend_config][1.0.0]Adapter name must be specified in a string

tonino a écrit:

Bonjour,

Je teste ceci :

Code:

<?php
require_once 'Zend/Config.php';
require_once 'Zend/Db.php';

$config = new Zend_Config(
    array(
        'database' => array(
            'adapter' => 'Mysqli',
            'params' => array(
                'dbname' => 'test',
                'username' => 'webuser',
                'password' => 'secret',
            )
        )
    )
);

$db = Zend_Db::factory($config->database);
?>

J'obtiens cela :

Fatal error: Uncaught exception 'Zend_Db_Exception' with message 'Adapter name must be specified in a string.' in C:\wamp\www\...\Zend\Db.php:165 Stack trace: #0 C:\wamp\www\...\test\db\db0.php(23): Zend_Db::factory(Object(Zend_Config)) #1 {main} thrown in C:\wamp\www\...\Zend\Db.php on line 165

Pourriez-vous me renseigner sur cet état de fait?
Merci de vos réponses

il te dit que Zend_Db::factory attend le nom de l'adaptater et non un objet

Code:

    public static function factory($adapterName, array $config = array())

tu dois donc faire

Code:

$db = Zend_Db::factory($config->database-> adapter, $config->database-> params);

A+JYT

Hors ligne

 

#3 01-12-2007 18:10:59

tonino
Nouveau membre
Date d'inscription: 12-10-2007
Messages: 4

Re: [zend_db/zend_config][1.0.0]Adapter name must be specified in a string

Oui, évidemment...
Merci Sekaijin.

Pour finaliser ta réponse :

Code:

$db = Zend_Db::factory($config->database-> adapter, $config->database-> params->toArray());

sinon

Catchable fatal error: Argument 2 passed to Zend_Db::factory() must be an array, object given

Je précise que cet exemple est tiré du manuel Zend:
http://framework.zend.com/manual/fr/zen … connecting

Hors ligne

 

#4 01-12-2007 19:35:08

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [zend_db/zend_config][1.0.0]Adapter name must be specified in a string

Et je précise, au cas où .... que le manuel n'est pas toujours à jour, surtout celui en français.
Préférez la documentation anglaise, qui elle, est relativement à jour ^^

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