質問
現在、次のことができます。
class SubClass extends SuperClass {
function __construct() {
parent::__construct();
}
}
class SuperClass {
function __construct() {
// this echoes "I'm SubClass and I'm extending SuperClass"
echo 'I\'m '.get_class($this).' and I\'m extending '.__CLASS__;
}
}
ファイル名( __ FILE __
を動的に評価する)に似たようなことをしたい。スーパークラスから、サブクラスが存在するファイルを知りたいです。エレガントな方法で可能ですか?
get_included_files()
で何かできることはわかっていますが、特に私が多数のインスタンスを持っている場合、それはあまり効率的ではありません。
解決
Reflectionを使用できます。
$ref = new ReflectionObject($this);
$ref->getFileName(); // return the file where the object's class was declared
他のヒント
ええと、そうではありません。各サブクラスには、 __ FILE __
を返す明示的に実装されたメソッドが必要になります。このメソッドは、最初に継承ポイントを完全に無効にします。
また、なぜこのようなものが役立つのかについても興味があります。
所属していません StackOverflow