質問: new Dog(); echo where_is_method($dog->run); // -> Animal:run ``` という風なコードで、`Animal:run` という出力を得たいです。 そのような機構、または似たような方法があれば教えてください。よろしくお願いします。
回答: ※元のコードでは動かなかったので全面的に書き換えました。 リフレクションAPIの`ReflectionMethod::getDeclaringClass`(リファレンス)を使えば、定義されたクラスを取得できます(3v4lでの動作例)。 ``` $refClass = new ReflectionClass($class_name); $refMethod = $refClass->getMethod($method_name); $declaredClass = $refMethod->getDeclaringClass(); ``` なお、`__call`を使えば存在しないメソッドも呼べますが、これには対応していません。