Bonjour.
Etant donné un objet instancié par la classe ci-dessous, j'aimerais pouvoir écrire dans le code d'appel un truc aussi simple que

sur une page
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$_SESSION['c'] = new ContenuManager('TOTO');
et sur une autre page qu'il reconnaisse une propriété de l'objet $_SESSION['c']->groupes par exemple... sans se reconnecter à la base (car plus besoin à priori).
Merci d'avance de vos lumières...

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
class ContenuManager{
	public $groupes=array();
	public $groupe='';
	public $rubriques=array();
	public $requetes=array();
	public $excels=array();
 
	public function __construct($gpe){
		try{
			$connex= new PDO(blablabla);
			$connex->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
			$this->setGroupes($connex);
			$this->setGroupe($gpe);
			$connex=NULL;
		}
		catch(Exception $e){
			echo '<p>Connexion impossible: '.$e->getMessage().'</p>';
			echo '<p>N° : '.$e->getCode().'</p>';
			die();
		}
	}
	public function setGroupes($connex){
		$sql='select gpe
		from gpe 
		order by gpe;';
		$stmt=$connex->prepare($sql);
		$stmt->execute();
		$i=0;
		while ($gpe=$stmt->fetch(PDO::FETCH_ASSOC)){
			$this->groupes[$i]=$gpe['gpe'];
			$i++;				
		}
		$stmt->closeCursor();
	}
	public function getGroupes(){
		return $this->groupes;
	}
	public function setGroupe($gpe){
		if (!(in_array($gpe,$this->groupes))){
			trigger_error("Ce groupe n'est pas dans notre base.", E_USER_ERROR);
		}
		$this->groupe=$gpe;
	}
	public function getGroupe(){
		return $this->groupe;
	}
 
	public function __sleep(){
		return array ('groupes','groupe','rubriques', 'requetes', 'excels');
	}
	public function __wakeup(){
          //je mets quoi ici exactement, si je veux juste recréer proprement mon objet sans me reconnecter à la base et tout le tintouin ?
	}
}