问题的快速代码包括:
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.我必须在小孩类中特别声明静态变量,还有另一种方式吗?
谢谢!