クラスプロパティ値が親からのものかサブクラスからのものかを確認する方法はありますか?
class A {
public static $property1 = "X";
public static $property2 = "Y";
public static isFrom($propertyName) {
/// what should be here?
}
}
class B extends A {
public static $property1 = "Z";
}
class C extends B {
}
C::isFrom("property1"); /// should return "CLASS B";
C::isFrom("property2"); /// should return "CLASS A";
クラス定数についての同じ質問。
定数が宣言されている(サブクラスCにアクセスする)正確なクラスを見つけることは可能ですか?関数defined( "C :: SomeConstant"); SomeConstantがA、B、またはCで宣言されている場合、trueを返します。定数が親ではなくクラスCで宣言されているかどうかを確認するための解決策を探しています。