jackrichard
Messages postés43Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention 2 novembre 2008
-
20 déc. 2005 à 20:06
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 2015
-
21 déc. 2005 à 21:06
salut a tous
voila mon problème j'utilise des objets et les sessions mais voilà lorsque je fixe mon objet dans ma session je le récupére vide et je ne peut utiliser les méthodes qui l'implémente on ma dit d'utiliser les méthode __sleep et __wake mais cela ne fonctionne pas pour autant
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 20 déc. 2005 à 21:04
Il faut que tu charges ta classe avant d'utiliser :
$objet = unserialise($_SESSION['objet']);
Par contre, je viens de voir que tu fais des trucs mauvais.
On instancie JAMAIS une classe dans une superglobale !!!!!!
On utilise la superglobal $_SESSION pour stocker ta classe sérialisée !!
Donc ce que tu dois faire :
<?php
$objet = new objet;
$objet->method();
$objet->method();
$_SESSION['objet'] = serialize($objet); // Utilisera la méthode magique __sleep() si elle est existante.
?>
<?php
if ( isset($_SESSION['objet']) ) {
$objet = unserialize($_SESSION['objet']);
}
$objet->method();
//...
?>
Par contre, ca ne sert à rien de sérialiser une classe de DB... pour la simple et bonne raison que tu dois fermer OBLIGATOIREMENT la connection à la fin de ta classe pour la réouvrir lors de l'instanciation futur...
Regarde toutes les classes de DB présentes sur PHPCS et sur le net, et tu verras qu'aucune utilise la méthode que tu fais toi, car c'est techniquement impossible.
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 20 déc. 2005 à 23:19
De plus, une classe rien que pour les requetes, ca ne sert pas à grand chose.
Dans ce cas la, autant faire une classe de query, une classe de fetch, etc... :/ L'interêt est limité ici.
Nonon, ta classe de requete ne doit pas exister, elle doit etre implanté en tant que méthode de ta classe principale. Ce n'est pas comme ca que ca marche l'OO !
jackrichard
Messages postés43Date d'inscriptionmardi 24 mai 2005StatutMembreDernière intervention 2 novembre 2008 21 déc. 2005 à 20:50
oki merci de vos conseil je vais pencher la dessus et c'est pas que je veuille utiliser les objet pour ca on me demande de faire une apli avec objet pour les requete