ClassAという名前の描画 PHP クラスがあり、これは他の多くの描画クラス ( ClassBなど) によって拡張されています。
親クラスのDraw()メソッドを起動するには、継承されたクラスが必要です。ただし、私の特定の状況では、そのようなメソッドを直接呼び出したくありません (例: parent::Draw())。parent::InvokeDraw()親のコンテキスト内から描画メソッドを呼び出す3 番目の関数 (例: ) が必要です。
説明するコードを次に示します。
class ClassA
{
function Draw()
{
/* Drawing code ... */
}
function InvokeDraw()
{
$this->Draw();
}
}
class ClassB extends ClassA
{
function Draw()
{
parent::InvokeDraw();
/* Drawing code ... */
}
}
私が直面している問題は、InvokeDraw()が親のDraw()メソッドではなく、拡張クラスの独自のDraw()メソッドを呼び出すため、無限ループが発生することです。
この問題はかなり論理的ですが、回避策を見つけるのに苦労しています。このタスクを達成する方法は?
望ましい効果

無限ループ問題
