Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] bug PDO

Posted by doubleface on 09/18/2006 15:59

Salut,

J'ai essaye d'utiliser PDO avec Jelix (svn:256) et il me semble qu'il y ait un bug :

J'essaye simplement de faire un

 jDb::getConnection();

et voila ce que je recupere dans le call stack :

 Fatal error: Class jDbPDOResultSet could not implement interface Iterator in Unknown on line 0
 Call Stack
 #	Function	Location
 1	{main}()  /home/thiriot/var/apache/htdocs/jelixserv/www/index.php:0
 2	jCoordinator->process()	 /home/thiriot/var/apache/htdocs/jelixserv/www/index.php:20
 3	CTdbactions->create()	/home/thiriot/var/apache/htdocs/lib/jelix/core/jCoordinator.class.php:200
 4	jDb::getConnection() /home/thiriot/var/apache/htdocs/jelixserv/modules/dbtest/controllers/dbactions.classic.php:17
 5	jDb::_createConnector()	/home/thiriot/var/apache/htdocs/lib/jelix/db/jDb.class.php:40
 6	__autoload()	/home/thiriot/var/apache/htdocs/lib/jelix/init.php:0
 7	require_once('/home/thiriot/var/apache/htdocs/lib/jelix/db/jDbPDOConnection.class.php')	/home/thiriot/var/apache/htdocs/lib/jelix/init.php:115

Si j'essaye de regarder un peu dans le detail, c'est le

 $dbh = new jDbPDOConnection($profil);

dans jDb.class.php::__createConnector, qui provoque tout ca. Il n'arrive pas a trouver jDbPDOConnection.

  [Opened] Re: bug PDO

Reply #1 Posted by laurentj on 09/18/2006 17:12

c'est pas qu'il n'arrive pas à trouver jDbPDOConnection, c'est plutôt qu'il y a une erreur lors du parsing du fichier source :

 Class jDbPDOResultSet could not implement interface Iterator

Et là c'est franchement ennyeux. Quelle version de PHP ?

  [Opened] Re: bug PDO

Reply #2 Posted by laurentj on 09/18/2006 18:12

Bon, j'avoue, j'ai pas testé ma classe pdo quand j'ai ajouté Iterator :-) (je n'ai pas pdo sur ma machine)

je viens de tester le truc dans tous les sens, et trouvé un bug là dessus : on ne peux pas faire une classe qui à la fois hérite de PDOStatement et implémente Iterator. D'aprés les commentaires sur le bug, ce ne serait pas un bug, même si à mes yeux ça en est un ! (puisqu'en faisant le même genre d'heritage/implementation avec d'autres classes, ça fonctionne...)

Enfin bon, de toute façon, ça ne fonctionne pas. Et je ne vois vraiment pas pour le moment comment contourner ce problème...

Je vais étudier ça...

  [Opened] Re: bug PDO

Reply #3 Posted by laurentj on 09/18/2006 18:43

OK, j'ai trouvé. En fait PDOStatement est utilisable sur un foreach, et il n'y a donc pas besoin d'implementer Iterator dessus. (bien qu'un $objetPdoStmt interfaceof Iterator renvoi false...).

Je vais donc corriger ça. Sinon c'est sympa que tu te proposes de tester la partie pdo :-)

  [Opened] Re: bug PDO

Reply #4 Posted by laurentj on 09/18/2006 18:47

fix commité dans le dépot subversion...

  [Opened] Re: bug PDO

Reply #5 Posted by laurentj on 09/19/2006 13:18

dispo en téléchargement, une version svn-262 corrigeant ce bug.. Dans la semaine, sortie de l'alpha5.

 
Page
  1. bug PDO