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
$_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...
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 ?
}
} |
Partager