![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 13.02.2004 Skąd: Przasnysz Ostrzeżenie: (0%) ![]() ![]() |
Mam dwa obiekty. Jeden służy do inicjacji konfiguracji, obiektów pomocniczych, tworzenia instancji singletonów i innych drobnych rzeczy. Wszystkie obiekty w skrypcie dziedziczą z tego obiektu. Drugi obiekt dziedziczy z pierwszego i służy do wykonania konkretnego zadania.
Chciałem dodać (do pierwszego obiektu) wywoływaną zawsze z kontekstu drugiego obiektu prostą funkcję wyświetlającą print_r dla wszystkich zmiennych obiektu (żeby łatwiej było mi pisać i debugować). I tu napotkałem problem. Jeśli funkcja jest zadeklarowana w obiekcie pierwszym, to mimo tego, że wywoływana jest z obiektu drugiego, $this odwołuje się do obiektu pierwszego. Przygotowałem odrobinę kodu dla zilustrowania problemu (php5):
powyższy przykład generuje: Ponieważ w php nie ma czegoś takiego jak 'child' nie wiem co z tym zrobić. Ktoś ma jakiś pomysł jak to obejść? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
w inncyh językach jest odatkowo protected (zminna prywatna ale dziedziczona). A php5? Spróbuj zamiast private dać protected
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 09:41 |