Как в PHP получить значение private-свойства
Условие: нельзя менять исходный класс.
Решение: использовать оператор print_r и буферизацию вывода.
<?php
// проверочный класс
class Test {
// приватное свойство
private $value;
// функция установки приватного свойства
public function set($init) {
$this->value = $init;
}
}
// объект проверочного класса
$tmp = new Test();
// установим значение приватного свойства
$tmp->set(1024);
// получим значение приватного свойства
ob_start();
print_r($tmp);
$ob = ob_get_contents();
ob_end_clean();
preg_match("#\<p style="text-align:center;"><span class="MathJax_Preview"><img src="http://blogfigaroo.ru/wp-content/plugins/latex/cache/tex_41bb038feebf6777597618b6a7e5a008.gif" style="" class="tex" alt="value:private\ "></span></p> => ([^\s]*)\n#is", $ob, $m);
$value = $m[1];
echo $value;
?>
Комментарии:
Нету комментариев для вывода...