我有以下3个班级:
class ParentClass {
protected $myVar = array();
function __construct() {
var_dump($this->myVar);
}
}
class FirstClass extends ParentClass {
protected $myVar = array('defaultVal');
}
class SecondClass extends FirstClass {
protected $myVar = array('anotherVal');
}
Run Code Online (Sandbox Code Playgroud)
如果我要做以下事情:
$class = new SecondClass();
Run Code Online (Sandbox Code Playgroud)
然后我会得到array('anotherVal')
什么可以添加到ParentClass的构造,以便我实际上得到array('defaultVal', 'anotherVal')
提前致谢!
由于一些奇怪的原因,堆栈溢出会一直擦除我以前的答案.所以这是新的.
class ParentClass {
protected $myVar;
function __construct() {
$this->myVar = array();
}
}
class FirstClass extends ParentClass {
function __construct() {
parent::__construct();
$this->myVar[] = 'default val';
}
}
class SecondClass extends FirstClass {
function __construct() {
parent::__construct();
$this->myVar[] = 'another val';
}
public function printArr() {
print_r($this->myVar);
}
}
$class = new Secondclass();
$class->printArr();
Run Code Online (Sandbox Code Playgroud)