SAlut a tou(te)s!
voila mon problème:
j'utilise un objet User dont le constructeur définit un attribut _db qui est lui même une instance de la classe PDO.
code dans User.class.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public function __construct($db) 
{
	$this->_db = $db;
}
code dans ma page php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$user = new User($db);
$user->setUserData($id_user);
mais après clic sur un lien href je perd mon objet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
// test si l'utilisateur a le droit d'acces au lien
f ($user->droitAccesPartie($pages[$i]["ks_ecran"]))
{
	$template->assign_block_vars("un_lien", array(	"ID" => $pages[$i]["ks_ecran"],"TITRE" => $pages[$i]["trad_nom_ecran"],"PAGE" => $pages[$i]["page_web"]));
}
Et là c'est le drame pas d'accès à $user->droitAccesPartie(..) et pas de message d'erreur.
J'ai bien essayé de linéarisé $user mais c'est apparemment impossible de le faire avec un objet PDO?
Comment feriez vous?

1ère solution possible:
comme il n'y a qu'une page php dans mon application (inclusions, ...),
je serialize $user à la fin de la page,
je l'enregistre dans une var de session,
et quant je recharge ma page je test cette var de session,
si elle est definit alors je déserialize $user.
Pour pouvoir faire ça je dois passer $db en global et le retirer du constructeur de ma classe. ça marche.

Mais avant que je mette [résolu] sur mon post, je voulais essayer une méthode plus propre. Il parait qu'utiliser les global c'est pas bien.
Auriez vous des idées?