php скрыть атрибуты при приведении к массиву - PullRequest
1 голос
/ 17 февраля 2012

Я кодировал класс php для представления результата запроса. При входящем запросе я преобразую его в массив, преобразую в JSON (для json_encode) и возвращаю его пользователю.

Теперь я хочу определить атрибут "debug" для интерна класса, которого не должно быть в выходных данных - как я могу скрыть атрибуты при приведении класса к массиву?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

Удалите элемент из полученного массива с помощью unset.

1 голос
/ 17 февраля 2012

Объявите это private или protected.

class Foo
{
   public $bar = 'bar';   
   private $baz = 'baz';
   protected $quux = 'quux';
}

$f = new Foo();

echo json_encode($f);

Результат:

{"bar":"bar"}

NB. Требуется PHP 5, см. Видимость в руководстве по PHP.

...