![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki prosty problem:
Bazowa klasa sesji mojego frameworka:
Klasa dziedzicząca, implementująca już konkretną funkcjonalność dla danej aplikacji:
Problem polega na tym, ze w entry-poincie mojej aplikacji robie tak, zeby singleton zainicjalizowal sie tym dziedziczonym obiektem: $tmp = DerivedSession::getInstance(); Mimo tego tworzy mi sie obiekt typu BaseSession! Jeżeli w klasie DerivedSession skopiuje metodę getInstance z definicją taką jaka jest w BaseSession, wszystko działa zgodnie z oczekiwaniami, czyli powyższy kod tworzy obiekt klasy DerivedSession. Czy w takim razie to jest normalne zachowanie dla OOP w PHP, jeżeli wywołuje funkcje statyczną w kontekscie klasy dziedziczącej (bez przeciążania tej funkcji), to "self" w dalszym ciągu odnosi się do klasy bazowej? Pozdrawiam Adam
Powód edycji: Zmiana kolorowania /~strife/
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:26 |