有没有办法找出类属性值是来自父类还是子类。
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)?函数定义(“C::SomeConstant”);如果 SomeConstant 在 A 或 B 或 C 中声明,则返回 true。我正在寻找解决方案来确定常量是否在类 C 中而不是在父级中声明。