Uzyskaj dostęp do nadpisanej metody rodzica z kontekstu rodzica w PHP
Mam wywoływaną klasę PHP do rysowaniaKlasa A rozszerzony o wiele innych klas rysunkowych,ClassB na przykład.
Potrzebuję dziedziczonych klas do odpalenia klas macierzystych ”Rysować() metoda. Jednak w mojej szczególnej sytuacji nie chcę nazywać takiej metody bezpośrednio (np .:parent::Draw()
). Chciałbym trzecią funkcję (np .:parent::InvokeDraw()
) wywołać moją metodę rysowania z kontekstu rodzica.
Oto kod do zilustrowania:
class ClassA
{
function Draw()
{
/* Drawing code ... */
}
function InvokeDraw()
{
$this->Draw();
}
}
class ClassB extends ClassA
{
function Draw()
{
parent::InvokeDraw();
/* Drawing code ... */
}
}
Problem, przed którym stoję, jest takiInvokeDraw () nie zadzwoni do rodzicówRysować() metoda, ale raczej klasa rozszerzona ”własnaRysować() metoda, powodując w ten sposób nieskończoną pętlę.
Chociaż problem jest dość logiczny, trudno mi znaleźć rozwiązanie tego problemu. Jak wykonać to zadanie?
Pożądany efektNieskończony problem z pętlą