Bonjour,

Je suis en train de monter une classe spectacle sur mon site, pour pouvoir gérer plus facilement les info relatives a un spectacle dans ma base de donnée.

Ayant 33 attributs pour définir un spectacle, j'ai commencer a pleurer en réalisant que j'allais devoir écrire déjà 66 méthodes juste avec les getter et setter ; jusqu’à que je trouve les fonctions __get() et __set().

Le seul problème est que je ne parviens pas a les appeler. Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
$leSpectacle = new spectacle();
 
		$leSpectacle->__set(m_titreSpect, $_POST['titre']);
		$leSpectacle->__set(m_genreSpect, $_POST['genre']);
		$leSpectacle->__set(m_dureeSpect, $_POST['duree']);
		$leSpectacle->__set(m_auteurSpect, $_POST['auteur']);
		$leSpectacle->__set(m_descriptionSpect, $_POST['description']);
(Je n'ai mis que 6 attributs pour l'exemple)

et les deux méthode dans la classe spectacle :

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
<?php
	class spectacle {
		private $m_idSpect;
		private $m_titreSpect;
		private $m_genreSpect;
		private $m_dureeSpect;
		private $m_auteurSpect;
		private $m_descriptionSpect;
 
          public function __set($attr, $value){
 
       		if(isset($this->$attr)) $this->$attr = $value;
       		else throw new Exception('Attribut Inconnu '.$attr);
 
          }
 
	   public function __get($attr){
 
     		 if(isset($this->$attr)) return $this->$attr;
	         else throw new Exception('Attribut Inconnu '.$attr);
 
  	   }
}
?>
Auriez-vous une solution qui me permettrais d'avancer ?
Merci d'avance