Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Singleton i n-razy wykonywany destruktor
Mlodycompany
post
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


Witam. Mam pewną klasę którą wywołuje singleton'em. Singleton tworzy 1 obiekt poprawnie, konstruktor wykonuje się tylko raz, a destruktor niestety tyle razy ile pobieram instancję tej klasy. Jak pobiorę ją 3 razy to destruktor 3 razy się wykona. Wiecie może dlaczego tak jest?

PS. Jeżeli będzie potrzebny kod to zamieszczę ale wydaję mi się, że obejdzie się bez tego (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Mlodycompany
post
Post #2





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


  1. private static $instance = false;
  2. public static function getInstance() {
  3. if (!self::$instance) {
  4. self::$instance = new klasa();
  5. echo 'instancja';
  6. }
  7. return self::$instance;
  8. }

to jest kod. Echo w nim zawarte printuje się tylko raz czyli instancja jest tworzona raz. I jeszcze mam zabezpieczenie przed klonowaniem
  1. private function __clone(){}



Wzasadzie to już rozwiązałem ten problem w inny sposób, a mianowicie zastąpiłem destruktor zwykłą metodą i wywołałem ją na końcu kontrolera, ale nadal mnie zastanawia dlaczego tak się działo
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 14:01