Быстрый код с включенным вопросом:
abstract class ClassParent {
public static $var1 = "ClassParent";
}
class ClassChild1 extends ClassParent{
public static function setvar1(){
ClassChild1::$var1 = "ClassChild1";
}
}
class ClassChild2 extends ClassParent{
public static function setvar1(){
ClassChild2::$var1 = "ClassChild2";
}
}
ClassChild1::setvar1();
echo ClassChild2::$var1;
// Returns "ClassChild1". Shouldn't this still be "ClassParent"?
Я предполагаю, что вышесказанное является ожидаемым поведением, а не ошибкой PHP. В этом случае, как я могу объявить статическую переменную в родительском классе, которая будет обрабатываться отдельно для дочерних классов. Другими словами, я хочу иметь отдельные статические значения PER CHILD CLASS. Должен ли я объявлять статическую переменную конкретно в дочерних классах или есть ли другой способ?
Спасибо!