![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 0 Dołączył: 27.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jak wywołać metodę statyczną z klasy abstrakcyjnej mając jej nazwę w zmiennej?
daje wynik: Kod Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM Natomiast klasa ReflectionMethod ma metodę invokeArgs jednak wymaga ona podania obiektu. Także nic nie daje:
|
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
A czemu nazwa klasy (ktorej metoda ma byc wywolana) ma zalezec od wartosci zmiennej?
Wyglada na to ze przyda ci sie polimorfizm -- utworz podklasy z roznymi implemetacjami metody "method()" i wywoluj ja na obiekcie. http://hanuska.blogspot.com/2006/08/swich-...-smell-and.html co prawda kod w javie ale spojrz na problem (co prawda nie masz switcha, ale funkcja ktora wywolasz jest zalezna od wartosci $className) i rozwiazanie ---- edit: chociaz to co robisz to "prawie jak" polimorfizm, tylko ze stosuje sie go dla obiektow a nie klas. W rubym by to przeszlo -- nazwa klasy tez jest obiektem + duck typing |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 21:04 |