Если я объявлю базовый класс следующим образом:
abstract class Parent {
protected static $message = "UNTOUCHED";
public static function yeah() {
static::$message = "YEAH";
}
public static function nope() {
static::$message = "NOPE";
}
public static function lateStaticDebug() {
return(static::$message);
}
}
и затем расширить его:
class Child extends Parent {
}
и затем сделайте это:
Parent::yeah();
Parent::lateStaticDebug(); // "YEAH"
Child::nope();
Child::lateStaticDebug(); // "NOPE"
Parent::yeah();
Child::lateStaticDebug() // "YEAH"
Есть ли способ, чтобы мой второй класс, который наследовал от первого, также наследовал свойства, а не только методы?
Мне просто интересно, есть ли что-то в поздней статической привязке PHP, а также в наследовании, которое позволило бы это. Я уже обдумываю это ... Но, похоже, не имеет смысла, что необъявленное статическое свойство будет возвращаться к своему родителю для значения!?