Bonjour à tous.
Pour les besoin d'un projet de formation, je dois recréer une sorte d'Orm (type Doctrine, Propel, etc) mais simplifié bien sur avec SQLite.
Je rencontre une erreur et je ne trouve pas le problème.
J'ai 2 class mères et 1 class fille. Une première me permettant de me connecter à la base et une seconde dans laquelle je dois récupérer la structure d'une table.
Dans ma première class de connexion (qui fonctionne), j'ai ce code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php class MyOrm_Db { public $connect; public function __construct($db) { $connect = new SQLiteDatabase($db); } public function __desctruct($base) { sqlite_close($base); } } ?>
Dans un second fichier, j'ai ce code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12 <?php class MyOrm_Table { public function __construct($base, $name) { $pragma = $base->connect->arrayQuery("PRAGMA table_info('$name')", SQLITE_ASSOC); echo "<pre>"; print_r($pragma); echo "</pre>"; } } ?>
Et enfin, ma class fille :
Code:
1
2
3
4
5
6
7
8
9
10
11 <?php class User extends MyOrm_Table { protected $_name = "user"; public function __construct($db) { parent::__construct($db, $this->_name); } } ?>
Je fais appel a mets class de cette façon :
Code:
1
2
3
4
5
6 //Connection $db = new MyOrm_Db("test.db"); $user = new User($db); //Deconnection unset($db);
Lorsque j'execute ce bout de code, je me retrouve avec cette erreur :
Le fichier myorm_table.php contient les class MyOrm_Table et User. Je sais c'est pas terrible de mettre 2 class dans un même fichier, mais c'est uniquement le temp de faire mets test.Code:Fatal error: Call to a member function arrayQuery() on a non-object in C:\wamp\www\my_orm\myorm_table.php on line 5
Quelqu'un peut il m'expliquer pourquoi j'ai cette erreur ?
Merci d'avance,
Doki.