OOP PHP:在子静态元素的声明中使用parent的static元素?

时间:2015-04-22 16:23:22

标签: php class static

我正在尝试编写一个使用其父级静态声明数组的类来添加新值。下面是我对如何运行它的感觉......

class SuperClass
{

protected static $array_name = array('value1');

}

class SubClass extends SuperClass 
{

protected static $array_name = array_push(parent::$array_name, 'value2');

}

有没有办法在没有__construct()函数的情况下正确实现它?

我正在尝试为SuperClass及其父母实现静态工作模型......

1 个答案:

答案 0 :(得分:0)

我不完全确定你是否完全想要静态类,但这可以做你想要的东西:

<?php
class SuperClass
{
    static $array_name = array('value1');
}

class SubClass extends SuperClass
{

    static $array_name = 'foo';
    function __construct(){

        self::$array_name = array_push(parent::$array_name, 'value2');
    }
}
$foo = new SubClass();
var_dump($foo::$array_name);  // prints INT 2 - as push returns number of elements in array.
?>