Précédent   Forum des professionnels en informatique > Applications > Projets > Projets hébergés > Archives > PhpMyObject
PhpMyObject Mapper de bases de données écrit en PHP qui transforme les résultats de requêtes SQL en objets (ORM). Le site : http://pmo.developpez.com
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2008, 20h19   #1
Chef de projet PhpMyObject
 
Avatar de Laplix
 
Inscription : juin 2007
Messages : 66
Détails du profil
Informations personnelles :
Âge : 58

Informations forums :
Inscription : juin 2007
Messages : 66
Points : 61
Points : 61
Par défaut [Bogue] Petit problème avecPMO_MySGBD::factory()

En testant le driver pdo j'ai fait une erreur de frapper dans ma configuration (j'en fais souvent des erreurs de frappe ). J'ai tapé pdi au lieu de pdo :

Code :
1
2
3
4
$config = PMO_MyConfig::factory();
$config->set('db.driver', 'pdi');
$config->set('db.pdodriver', 'mysql');
et ça a fonctionné sans problème même si le driver est invalide. Le problème provient de PMO_MySGBD::factory() qui utilise PDO par défaut

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
switch($authdb['driver']){
   case 'sqlite':

   (...)
         
   default:
         require_once("PMO_sgbd_pdo.php");
         self::$INSTANCE = new Pmo_sgbd_pdo($object);
         if(!isset($object))
            self::$INSTANCE->connectSgbd($authdb);
         break;
}
Comme PDO est le driver par défaut, on peut mettre n'importe quoi dans $authdb['driver']. Si le pdodriver est valide, ça passe. Je suggère ce changement :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
switch($authdb['driver']){
      (...)

   case 'pdo':
         require_once("PMO_sgbd_pdo.php");
         self::$INSTANCE = new Pmo_sgbd_pdo($object);
         if(!isset($object))
            self::$INSTANCE->connectSgbd($authdb);
         break;

   default:
         throw new Exception("Error: ".$authdb['driver']." is not a PMO supported driver");
         break;
De cette façon, un exception va être générée si le driver est invalide.

HTH
Laplix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 02h36   #2
Membre habitué
 
Inscription : janvier 2003
Messages : 181
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 181
Points : 114
Points : 114
Très bonne remarque, ajouté directement dans la version du subv
__________________
PhpMyObject teck leader
http://pmo.developpez.com

La justice de l'intelligence est la sagesse. Le sage n'est pas celui qui sait beaucoup de choses, mais celui qui voit leur juste mesure.
code34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h42.


 
 
 
 
Partenaires

Hébergement Web