![]() |
![]() |
![]()
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 ![]() |
to w takim razie dodaj parametr fo funkcji debug, który będzie obiektem i w funkcji lub iterację po tym obiekcie. A wywoływać będziesz
edit: aczkolwiek pewnie też to nie zda egzaminu skoro zmienna jest prywatna. dorób funkcję debug do drugiej klasy (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 17:05 |