Bonjour à tous,
voilà j'ai écrit un singleton en PHP5 et il fonction bien... mais seulement pour la durée de vie d'une page.
N'y a t-il pas moyen de rendre un singleton réellement persistant ?
voici mon code :
par contre si dans ce script je met un lien html vers une autre page PHP et que je récupere l'instance du singleton.
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 class fwk_messages { private static $_instance; private $attribut; private function __construct(){ // rien juste histoire que le constructeur soit pas public } public function &getInstance(){ if (!isset(self::$_instance)) { echo "<b><br>==>CREATION INSTANCE <br></b>"; self::$_instance = new fwk_messages(); } return self::$_instance; } public function setAttribut( $a ){ $this->attribut = $a ; } } // lorsque dans un script je fait : $truc = fwk_messages::getInstance(); $truc->setAttribut( "Scoubidoo" ); $bidule = fwk_messages::getInstance(); // il recupere bien la meme instance le singleton est OK...
Et bien ce n'est plus la même, et du coup "attribut" est vide.
Mon singleton n'a vécqu que le temps d'une page....
Merci de votre aide
Partager