Доступ к переопределенному методу родителя из контекста родителя в PHP
У меня есть класс рисования PHP называетсяClassA это расширяется многими другими классами рисования,ClassB например.
Мне нужны унаследованные классы для запуска родительских классовРисовать() метод. Однако в моей конкретной ситуации я не хочу вызывать такой метод напрямую (например:parent::Draw()
). Я хотел бы третью функцию (например:parent::InvokeDraw()
) вызвать мой метод рисования из контекста родителя.
Вот некоторый код для иллюстрации:
class ClassA
{
function Draw()
{
/* Drawing code ... */
}
function InvokeDraw()
{
$this->Draw();
}
}
class ClassB extends ClassA
{
function Draw()
{
parent::InvokeDraw();
/* Drawing code ... */
}
}
Проблема, с которой я сталкиваюсь, заключается в том, чтоInvokeDraw () не будет называть родителейРисовать() метод, а точнее собственный расширенный классРисовать() метод, тем самым вызывая бесконечный цикл.
Хотя проблема довольно логична, мне трудно обойти это. Как выполнить эту задачу?
Желаемый эффектПроблема бесконечного цикла