PHP

Как в 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;
 	 
 	?>
Добавлено: 24 Августа 2013 01:27:51 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...