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
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




eee NuLL ; ]
Odpowiadałem na pytanie:
Cytat
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.


Chodziło mi o lokalną referencję, czy to w obiekcie, czy w funkcji.

Pozdrawiam.

Ten post edytował Cysiaczek 1.08.2007, 14:38:04
Go to the top of the page
+Quote Post
Ludvik
post
Post #3





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

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


Kompozycja jest zwykle najlepszym wyjściem...

Osobiście nie spotkałem się z sytuacją, w której musiałbym korzystać z Singletonu/Rejestru do pobrania instancji obiektu. Wszystko trafia albo do konstruktora, albo jako argument metody, albo leci w jakimś kontenerze (np. w czasie wykonywania łańcucha akcji). Singleton ogólnie nie sprzyja testom jednostkowym, gdyż wprowadza zależność, której nie zlikwidujesz raczej bez modyfikacji kodu.
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: 13.10.2025 - 18:52