Я хочу получить значение из объекта в массиве. Свойство объекта установлено как частное. Итак, я не мог получить доступ к значению.
Я пытаюсь преобразовать приватное в публичное использование Php ReflectionClass.
VarDump объекта в массиве ($ obj_array)
array(1)
{
[23]=>
object(PhpOffice\PhpSpreadsheet\Worksheet\RowDimension)#6167 (7)
{
["rowIndex":"PhpOffice\PhpSpreadsheet\Worksheet\RowDimension":private]=>
int(23)
["height":"PhpOffice\PhpSpreadsheet\Worksheet\RowDimension":private]=>
string(3) "7.5"
["zeroHeight":"PhpOffice\PhpSpreadsheet\Worksheet\RowDimension":private]=>
bool(false)
["visible":"PhpOffice\PhpSpreadsheet\Worksheet\Dimension":private]=>
bool(true)
["outlineLevel":"PhpOffice\PhpSpreadsheet\Worksheet\Dimension":private]=>
int(0)
["collapsed":"PhpOffice\PhpSpreadsheet\Worksheet\Dimension":private]=>
bool(false)
["xfIndex":"PhpOffice\PhpSpreadsheet\Worksheet\Dimension":private]=>
NULL
}
}
Код для преобразования частного объекта в публичный
foreach($obj_array as $key=>$value)
{
$r = new ReflectionObject($value);
$p = $r->getProperty('height');
$p->setAccessible(true);
echo $obj->height.'<br/>';
}
Я ожидаю получить значение высоты 7,5 от объекта. Это заканчивается с этой ошибкой.
Uncaught Ошибка: невозможно получить доступ к частной собственности
PhpOffice \ PhpSpreadsheet \ Рабочий лист \ RowDimension :: $ высота
Заранее спасибо.