Bonjour,
j'ai essayé de faire un petit exemple simple pour créer un utilisateurs, mais ma fonction hydrate de fonctionne pas et je n'ai absolument pas la moindre idée de pourquoi elle ne veut pas fonctionner, donc si une personne voit ou se trouve le probleme ....
Je vous mets mon
User.class.php
Et voici mon main.php avec l'appel de la classe et la tentative de création d'un User
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 class User { private $_iduser; private $_nomuser; private $_lvluser; private $_droituser; // Un tableau de données doit être passé à la fonction (d'où le préfixe « array ») public function hydrate(array $donnees) { foreach ($donnees as $key => $value) { // On récupère le nom du setter correspondant à l'attribut $method = 'set'.ucfirst($key); // Si le setter correspondant existe if (method_exists($this, $method)) { // On appelle le setter $this->$method($value); } } } public function iduser() { return $this->_iduser; } public function nomuser() { return $this->_nomuser; } public function lvluser() { return $this->_lvluser; } public function droituser() { return $this->_droituser; } public function setIdUser($iduser) { $this->_iduser = (int) $iduser; } public function setNomUser($nomuser) { // On vérifie qu'il s'agit bien d'une chaine de caractères // Dont la longueur est inférieure à 30 caractères if (is_string($nomuser) && strlen($nomuser) <= 50) { $this->_nomuser = $nomuser; } } public function setLevelUser($leveluser) { if (is_string($leveluser) && strlen($leveluser) <= 30) { $this->_lvluser = $leveluser; } } public function setDroitUser($droituser) { if (is_string($droituser) && strlen($droituser) <= 30) { $this->_droituser = $droituser; } } }
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function chargerClasse($classname) { require $classname.'.class.php'; } spl_autoload_register ('chargerClasse'); $perso = new User(array('nomuser' => 'tititest', 'lvluser' => 'debutant', 'droituser' => 'editeur')); echo $perso->nomuser(); echo 'lalala';
EDIT : Désolé je n'ai pas poster dans la bonne partie, je sais pas ce que j'ai fait.Si un modo peut déplacer au bon endroit.
Partager