Existe-t-il un moyen de savoir si la valeur de la propriété de classe provient du parent ou de la sous-classe.PHP: est la propriété de classe/valeur constante de la classe secondaire ou secondaire
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";
Même question à propos des constantes de classe.
Est-il possible de connaître la classe exacte où la constante est déclarée (accédant à la sous-classe C)? Fonction définie ("C :: SomeConstant"); renvoie vrai si SomeConstant est déclaré dans A ou B ou C. Je cherche une solution pour savoir si la constante est déclarée dans la classe C pas dans les parents.
Vous aurez probablement besoin d'utiliser la réflexion pour accomplir ceci. Mais il semble que la conception est mauvaise si vous devez le faire dans une application réelle. – FtDRbwLXw6