Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 7.05.2004 Skąd: Jelenia Góra Ostrzeżenie: (0%)
|
Witam,
postaram się jak najlepieej opisać problem. Aplikacja opiera się o programowanie obiektowe. Mam napisany sterownik bazy danych m.in. zawierający obliczanie ilości wykonanych zapytań do bazy. Oprócz tej klasy istnieje klasa obsługująca użytkownika - zalogowanego, bądź nie. Problem wydaje się banalny, ale nie dla mnie. Chciałbym aby sterownik obsługujący np. obliczanie ilości zapytań potrzebnych do wyświetlenia newsów na stronie (taki przykład) był również wykorzystywany w tej samej formie (ten sam identyfikator) do obliczania ilości zapytań podczas obsługi użytkownika, aby ilość zapytań była dodawana. Tj. na początku skryptu znajduje się kod: $sql = new Mysql( [parametry] ); Aby użyć klasy bazy danych w klasie np. User musiałem tworzyć nowy identyfikator, albo zastąpić już istniejący. Aby temu zapobiec wykorzystywałem do tego konstrukcję global, ale już wiem, że to nie jest poprawne. Jest na to jakieś rozwiązanie? Pozdrawiam. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 0 Dołączył: 7.05.2004 Skąd: Jelenia Góra Ostrzeżenie: (0%)
|
Postanowiłem bliżej przyjrzeć się temu nieszczęsnemu zjawisku singletona.
Przeczytałem artyuł na stronie: http://webcity.pl/webcity/artykuly.php/t/62 i zastanawia mnie pewna rzecz. Chciałbym wywoływać klasę w następujący sposób: $sql = new Mysql( [parametry] );,a później w innych klasach tworzyć singleton z referencją do tego egzemplarza. Problem w tym, że kiedy chcem wywołać następujący singleton:
.. w innej klasie to tworzony jest nowy egzemplarz klasy na miejscu tamtego i niestety nie rozwiązuje to problemu. Zaciekawiło mnie ostatnie zdanie w podanym wyżej artykule: "Spróbujcie napisać funkcję, która będzie przyjmować nazwę klasy, a zwracać referencję do obiektu stworzonego za pomocą singletonu.". Czy to aby nie rozwiązało by tego problemu ? Jak to napisać? Pozdrawiam |
|
|
|
MagnuM [OOP] Dołączenie sterownika bazy do aplikacji. 26.07.2006, 23:23:24
Ludvik Najlepiej przekazać obiekt jako argument przy twor... 26.07.2006, 23:37:06
NuLL To nie lepiej Singleton 26.07.2006, 23:41:57
Ludvik Singleton narzuca implementację sterownika. Chocia... 26.07.2006, 23:44:05
Ludvik To nie tak działa. Po pierwsze instancję trzymamy ... 27.07.2006, 08:32:03
MagnuM Ok. Przedstawię co udało mi się wykombinować. Niby... 27.07.2006, 14:32:10 
Jim Cytat(MagnuM @ 27.07.2006, 15:32 ) Jednak... 28.07.2006, 12:42:57
bigZbig Polecam wzorzec Property, z którego korzysta min. ... 27.07.2006, 14:53:38
MagnuM Cytat(bigZbig @ 27.07.2006, 15:53 ) Polec... 27.07.2006, 19:42:27
bigZbig Pofatygowalem sie i napisalem maly artykul na ten ... 28.07.2006, 11:40:30
NuLL CytatPofatygowalem sie i napisalem maly artykul na... 29.07.2006, 20:44:51
bigZbig Cytat(NuLL @ 29.07.2006, 21:44 ) A po co ... 31.07.2006, 07:52:37 ![]() ![]() |
|
Aktualny czas: 13.01.2026 - 02:28 |