![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 13.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam Was,
mam ostatnio dość dużą zagwozdkę odnośnie dziedziczenia mianowicie w praktycznie każdej klasie która odpowiada tabeli w bazie danych mam zdefiniowaną metodę customConditions(....) oraz getBaseSql(). getBaseSql() tworzy mi strukturę SQL wraz z ewentualnymi join'ami a customConditions(...) dołącza po prostu warunki, sortowanie, stronicowanie . Ze względu na to, że ciało customConditions(...) jest każdej klasie takie samo postanowiłem utworzyć klasę nadrzędną w której mam zdefiniowaną metodę customConditions(...) i klasę B w której jest zdefiniowana metoda getBaseSql() oraz dziedziczy po klasie A. mam klasę B dziedziczącą po klasie A. W klasie A mam zdefiniowaną metodę customConditions() KLASA NADRZĘDNA
KLASA POCHODNA
i przy wywołaniu
otrzymuje komunikat błędu o nie istniejącej metodzie getBaseSql() z której korzysta metoda customConditions poprzez self::getBaseSql(). Zmierzając do sedna, czy jest taka możliwość i jeśli tak to jaka by metoda klasy nadrzędnej korzystała z metody której ciało znajduje się w klasie pochodnej ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
self odnosi się do metody klasy, która takowy self odpala
Ten post edytował CuteOne 13.11.2012, 08:42:58 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 13.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
o kurczę $this-> zaraz sprawdzę (IMG:style_emoticons/default/smile.gif)
dzięki, wszystko działa jak powinno tyle nad tym siedziałem a zapomniałem, że $this-> tutaj będzie konieczne do użycia. Temat uważam za zamknięty i serdecznie dziękuję, za pomoc. Ten post edytował rstaciak 13.11.2012, 08:48:42 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 20:13 |