Bonjour,
J'avais imaginé ceci pour gérer mes modèles dans un framework maison (framework créé juste à des buts pédagogiques) mais cela ne fonctionne pas...
(j'ai allégé un peu le code pour ne garder que l'essentiel)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 abstract class Model extends PDO{ protected $describe = array(); protected $values = array(); function __set($name, $value) { if (in_array($name, $this->describe) $this->values[$name] = $value; else throws new Exception('Attributs inexistant'); } function save() { //sauvegarde dans bdd... } //etc... } class MyObject extends Model { protected $describe = array('champs1', 'champs2', 'champs3'); } }
et quand j'utilise ça, par exemple :
j'obtiens une erreur : Fatal error: Call to undefined method stdClass::save()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $myO = new MyObject(); $myO->champs1 = "test"; $myO->champs2 = "test"; $myO->champs3 = "test"; $myO->save();
si je fais un peu de débug avec un var_dump, il me dit que mon object n'est pas un "MyObject" mais un "object(stdClass)". Du coup, je me dis que je ne dois pas connaitre tous les mécanismes de l'object en PHP et que mon idée de base n'était pas si bonne...
Si quelqu'un pouvait m'expliquer pourquoi cela ne fonctionne pas, je le remercie d'avance!
Partager