![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli mam plik klasaPolaczenie.php:
klasaGaleria.php, w której tworzę obiekt klasy klasaPolaczenie:
W szablonie strony mam (bo zrobilem szablon strony + jest dodawana zawartosc do szablonu jak mam konkretne strony):
Dodatkowo np. po wejściu na stronę z obrazkami tworzę obiekt klasy klasaGaleria, który otwiera drugie połączenia z bazą danych (pierwsze polaczenie jest w szablonie):
czyli na tej stronie będę mieć dwa połączenia z bazą danych a nie jedno, tak może być - czy powinienem to zrobić jakoś inaczej ? ![]() Ten post edytował nieraczek 18.04.2009, 15:32:50 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
http://phpedia.pl/wiki/Singleton to jest lekarstwo na twoje x połączeń z bazą
-------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Chodziło mi o to o czym piszesz i o coś innego, odnośnie drugiej kwestii to znalazłem błąd - w szablonie zrobiłem tworzenie obiektu klasy klasaPolaczenie - nie wiem po co, bo obiekty tej klasy tworze w innych klasach, np. w klasie klasaGaleria - wiec usunalem to z szablonu:
A masz może przykład z tym singletonem i łączeniem z bazą danych, bo znajduje różne singletony, tylko nie te do połączeń z bazą danych ? Ten post edytował nieraczek 18.04.2009, 17:08:07 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 15 Dołączył: 2.04.2009 Skąd: koszalin Ostrzeżenie: (0%) ![]() ![]() |
Co do singletona z db to tworzysz sobie normalną klasę do obsługi bazy.
w klasie tworzysz 1 zmienną statczyną np. private static $instances =0; (static określa zmienną, która jest dzielona między wszystkimi instancjami - każda zmiana dokonana w wartości zmiennej automatycznie przenosi się na wszystkie instancje) w konstruktorze wtedy dajesz sobie sprawdzanie czy już jest taki obiekt twojej klasy
i w destruktorze dajesz sobie
Możesz zrobić troszeczkę inaczej (np.konstruktor prywatny), ale zasada działania jest ta sama. Pozdrawiam -------------------- kantek.com.pl
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 405 Pomógł: 6 Dołączył: 12.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję, zrobiłem w końcu w ten sposób:
oraz
Chyba jest ok ![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 73 Pomógł: 15 Dołączył: 2.04.2009 Skąd: koszalin Ostrzeżenie: (0%) ![]() ![]() |
Pewnie, że tak. Oto przykład:
no i wtedy instancje tworzymy inaczej:
Przykład pochodzi z http://4programmers.net/PHP/Wzorce_Projektowe#id-Singleton tam masz dokładniej wszystko opisane. Pozdrawiam Ten post edytował kantek 18.04.2009, 20:20:29 -------------------- kantek.com.pl
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 18:49 |