Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 97 Pomógł: 0 Dołączył: 30.05.2007 Skąd: Kleszczów Ostrzeżenie: (0%)
|
Witam, napisałem sobie klasę SQL do obsługi bazy. Nic nadzwyczajnego. Mam też dwie inne klasy: Extenstion (ładuje mi klasy rozszerzeń) i klasę Auth (klasa z autoryzacja uzytkownika). Na czym polega problem? Nie umiem się w klasie Auth odwołać do bazy danych. Podam kod i może będzie jaśniej:
Część kalsy SQL
Klasa extension
i klasa AUTH (jej część)
Nie wiem w jaki sposób odwołać sie w metodzie login do bazy danych. Próbowałem poprzez $this->db->setSql(), przez $db->setSql(), setSql i nic, dostaję komunikat Kod Call to a member function set_sql() on a non-object inobject Co robię źle? Widziałem podobny mechanizm u kumpla, ale on siedzi w wojsku i nie ma mi jak wyjaśnić co zrobił :/ Ten post edytował rasgan 13.07.2007, 10:39:04 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%)
|
Ja proponuję takie rozwiązanie:
Obiekty przechowywane są w zmiennej statycznej klasy Extension, więc nie są one gubione przy tworzeniu nowych obiektów tej klasy. Mankamenty: - Klasa Extension nie może mieć zmiennej publicznej o nazwie identycznej, jak nazwa którejś z twoich klas (chociaż nie wiem czy będziesz potrzebował jakiekolwiek zmienne publiczne w klasie Extension) - Brak możliwości przekazania parametrów do konstruktora wywoływanej klasy. Można to uzyskać przez zamianę magicznej metody __get() na magiczną metodę __call(), a następnie obiekty tworzyć przy użyciu eval" title="Zobacz w manualu PHP" target="_manual - jednak takie rozwiązanie mi się osobiście nie podoba. |
|
|
|
rasgan [PHP] Zastosowanie getInstance 13.07.2007, 10:38:02
__mK parent::NazwaFunkcjiRodzica albo Extension::NazwaF... 13.07.2007, 11:20:56
rasgan Nie ma setSql bo nie wkleiłem Musiałbym całą klas... 13.07.2007, 12:12:19
rasgan Kicok, dziękuję ślicznie. Właśnie o coś takiego mi... 15.07.2007, 18:53:40 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 13:24 |