Да, хотя они являются разными переменными, статические переменные в обоих классах находятся в одном наборе ссылок.
Вы можете нарушить этот набор ссылок, используя присвоение ссылок (=&
) илипереопределить его в расширенном классе:
class base {
public static $var;
}
class extended extends base {}
extended::$var = 8; // base::$var == 8
$t = 6;
extended::$var =& $t; // base::$var == 8; extended::$var == 6
class base {
public static $var;
}
class extended extends base {
public static $var;
}
extended::$var = 8; // base::$var == null; extended::$var == 8