Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jedna instancja klasy zamiast wielu - singleton
Joachim Peters
post
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 2
Dołączył: 1.03.2006

Ostrzeżenie: (0%)
-----


Witam,

Zastanawiam się czy da się jakoś inaczej stosować singleton niż tak:
  1. <?php
  2. $db = DB::getInstance();
  3. $user = User::getInstance();
  4. $session = Session::getInstance();
  5. ?>

Czy jest jakiś krótszy sposób? Jak robicie to u siebie, referencję? Bo to jest trochę męczące, żeby dodawać ten kod w każdej metodzie.

Pozdrawiam

Ten post edytował Joachim Peters 28.07.2007, 15:03:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Problemem tego kodu jest fakt, że możesz utworzyć dowolną liczbę instancji każdej ze zdefiniowanych klas. Klasa Kernel ma publiczny konstruktor, a pozostałe nie definiują, czyli posiadają domyślny (który też jest publiczny...). Poza tym - publiczne składowe też nie sprzyjają zachowaniu spójności obiektu. Z dowolnego miejsca możesz nadpisać wartość atrybutu i zrobi się bałagan.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 16:57