par
moogli » 17 févr. 2017, 11:49
salut,
_db n'est pas un objet
et le problème est du à la ligne alambiquée dans le constructeur
public function __construct($db){
$this->_db = $this->setDb($db);
}
les action sont faite de droite à gauche donc tu utilise la méthode setDb qui va affecter $db à _db => ok
mais ensuite tu affectes le retour de la méthode à _db et setDb retourne rien donc $this->_db est null
donc simplement
<?php
public function __construct($db){
$this->setDb($db);
}
pour le reste vire le _ dans la propriété db c'est inutile, et il me semble, contraire à
PSR-2 (et cela n'apporte rien, c'est une syntaxe "de vieux" utilisé quand les IDE ne pouvais indiquer la portée du memebre. Et même avec un éditeur de texte du peux retourner au début de ta classe pour chercher l'info. sinon tu va finir par coller le type de l'objet dans le nom (du genre _PDO_DB ? ou _intId ?)
En fait c'est bien "interdit" par PSR2
Property names SHOULD NOT be prefixed with a single underscore to indicate protected or private visibility.
tu as oublié le saut de ligne (<br />) dans ton foreach, ça va être moche
@+