Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<?php
class aClass
{
protected $protected_property = 'protected_value';
private $private_property = 'private_value';
public $public_property = 'public_value';
public function showSelf() {
echo $this->private_property,PHP_EOL,
$this->protected_property,PHP_EOL,
$this->public_property,PHP_EOL;
}
}
$an_object = new aClass;
$an_array["\0aClass\0private_property"] = 'new_private_value';
$an_array["\0*\0protected_property"] = 'new_protected_value';
$an_array["public_property"] = 'new_public_value';
array_walk($an_object, function(&$val, $key, $array){ $val = $array[$key]; }, $an_array);
$an_object->showSelf();
/* Output:
new_private_value
new_protected_value
new_public_value
*/
Как получить доступ ко всем свойствам объекта, не используя «отражение»