par
stopher » 12 mai 2009, 12:03
Effectivement ,à la fin de ton script , l'objet n'est plus , donc la ressource qu'il contient non plus ...
La connexion à ta base devra donc se faire à chaque page ...
Cependant , si tu veux garder les valeurs des attributs de ton objet , tu peux sérialiser et deserialiser .
tu supprimes ta ressource à ta base à la sérialisation grâce à la méthode magique
__sleep() , et tu te reconnectes à la deserialisation grace à la méthode magique
__wakeup().
Tu peux utiliser une connexion persistante à ta base , qui met en cache ta ressource , pour la ressortir lorsque tu tente de te reconnecter ... je ne suis pas fan de ce genre de méthode , si tu l'utilises , n'oublies pas de supprimer/libérer cette ressource lorsque tu n'en n'a plus besoin .
Je pense que tu ne gagneras rien à utiliser une connexion persistante .
Infos
Le singleton , te permet par exemple de ne faire qu'une connexion à ta base de données , même si tu as besoin à deux endroits différents ( d'une même exécution ) d'accéder à la base .
Celà te permet d'avoir une seule instance , donc un seul objet durant toute l'exécution de ton code .
Un objet avec un design pattern Singleton , ne peut , normalement pas être directement créer via un "new" , et ne peut être cloné .
L'utilisation pour la connexion à une base , n'est qu'un exemple , il peut être utile dans bien d'autres cas .
Ch.
Effectivement ,à la fin de ton script , l'objet n'est plus , donc la ressource qu'il contient non plus ...
La connexion à ta base devra donc se faire à chaque page ...
Cependant , si tu veux garder les valeurs des attributs de ton objet , tu peux sérialiser et deserialiser .
tu supprimes ta ressource à ta base à la sérialisation grâce à la méthode magique[url=http://fr2.php.net/manual/fr/language.oop5.magic.php#language.oop5.magic.sleep]__sleep()[/url] , et tu te reconnectes à la deserialisation grace à la méthode magique [url=http://fr2.php.net/manual/fr/language.oop5.magic.php#language.oop5.magic.sleep]__wakeup()[/url].
Tu peux utiliser une connexion persistante à ta base , qui met en cache ta ressource , pour la ressortir lorsque tu tente de te reconnecter ... je ne suis pas fan de ce genre de méthode , si tu l'utilises , n'oublies pas de supprimer/libérer cette ressource lorsque tu n'en n'a plus besoin .
Je pense que tu ne gagneras rien à utiliser une connexion persistante .
[url=http://fr2.php.net/manual/fr/features.persistent-connections.php]Infos[/url]
Le singleton , te permet par exemple de ne faire qu'une connexion à ta base de données , même si tu as besoin à deux endroits différents ( d'une même exécution ) d'accéder à la base .
Celà te permet d'avoir une seule instance , donc un seul objet durant toute l'exécution de ton code .
Un objet avec un design pattern Singleton , ne peut , normalement pas être directement créer via un "new" , et ne peut être cloné .
L'utilisation pour la connexion à une base , n'est qu'un exemple , il peut être utile dans bien d'autres cas .
Ch.