![]() |
![]() |
![]()
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/
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 202 Pomógł: 117 Dołączył: 13.04.2007 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
No i wszystko jasne! To jest błąd PHP! Tutaj link:
http://www.mail-archive.com/php-bugs@lists...t/msg85053.html Pozdrawiam! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 02:04 |