我有父类:
class Parent {
public static $registered = array();
public static function register($name){
self::$registered[] = $name;
}
}
然后我得到了扩展为Parent的子类。
class Child extends Parent {
}
然后我打电话给
Child::register("foo");
我做了
var_dump( Child::$registered );
但它是空的。 (项目被添加到Parent的数组中,我希望它被添加到Child的数组中)
是否可以这样自我::父母的功能将被采取'还有儿童班吗?
(我希望它是静态的,我不想初始化对象)
答案 0 :(得分:1)
从PHP 5.0.5开始,您发布的内容有效。
您可以在3v4l上验证,对于这些版本,它会正确输出
array(1) {
[0]=>
string(3) "foo"
}
所以最好的答案是:升级你的PHP。
答案 1 :(得分:0)
尝试使用static::$registered[] = $name
代替self::$registered[] = $name
。