PHP子类self ::目标到父级

时间:2014-08-21 09:45:48

标签: php oop inheritance static

我有父类:

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的数组中)

是否可以这样自我::父母的功能将被采取'还有儿童班吗?

(我希望它是静态的,我不想初始化对象)

http://codepad.org/q9ujGiyM

2 个答案:

答案 0 :(得分:1)

从PHP 5.0.5开始,您发布的内容有效。

您可以在3v4l上验证,对于这些版本,它会正确输出

array(1) {
  [0]=>
  string(3) "foo"
}

所以最好的答案是:升级你的PHP。

答案 1 :(得分:0)

尝试使用static::$registered[] = $name代替self::$registered[] = $name