PHP наследование массива-свойства
Задача
Имеется класс A
с защищённым свойством $data
, которое является массивом. В массив записан список значений. Необходимо создать класс B
, который будет наследовать класс A
и расширять список значений свойства $data
.
Решение
class A
{
protected $data = [
'one',
'two',
'three'
];
public function getData()
{
print "<pre>";
print_r($this->data);
print "</pre>";
}
}
class B extends A
{
public function __construct()
{
$this->data = array_merge(
$this->data,
['four', 'five']
);
}
}
$b = new B();
$b->getData();
// Output:
// Array
// (
// [0] => one
// [1] => two
// [2] => three
// [3] => four
// [4] => five
// )