如果我有一个包含静态var的基类,那么我设置这个静态var,然后有一个扩展基类的类,扩展类是否会保留我已经设置的静态var的值基类?
答案 0 :(得分:2)
是的,虽然它们是不同的变量,但两个类中的静态变量都在同一个参考集中。
您可以通过使用引用分配(=&
)或在扩展类中重新声明它来中断此引用集:
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