![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 420 Pomógł: 44 Dołączył: 22.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam mały problem mam skrypt który korzysta z trzech baz danych założenie było takie żeby podczas wykonywania skryptu były maksymalnie trzy połączenia z bazą dlatego chciałem zimplementować wzorzec singleton dl a każdej z baz jednak problem jest taki że podczas wywołania klasy z połączeniem do drugiej bazy połączenie z pierwszą zostaje przerwane po niżej przykładowy kody
Klasa db to standardowa klasa mająca metody typu query fetch itp Ma ktoś pomysł jak można to rozwiązać(IMG:style_emoticons/default/questionmark.gif) ? Z góry dzięki za sugestie. Ten post edytował patryczakowy 22.01.2011, 08:07:27 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. mysql_query powinno mieć określone z którego połączenia korzysta (patrz drugi argument funkcji).
2. Przestań korzystać z Singletona, bo na stronach WWW jest naprawdę baaaaardzo niewiele sytuacji, gdzie jego użycie miałoby sens, a korzystanie z tego wzorca poza jedną zaletą (powodem, dla którego stworzono go - czyli zapewnieniem istnienia co najwyżej jeden instancji danej klasy) ciągnie za sobą masę problemów. 3. Zapewne korzystasz z Singletona by uzyskać globalny dostęp do bazy danych (to jest złe użycie oczywiście), ale mógłbyś wykorzystać coś takiego:
Cytat Tzn? To znaczy, że to co podałeś nie jest Singletonem. To papka bezsensownego kodu (konstruktor zwracający coś? wtf?!)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 15:37 |