Есть ли способ управления json_encode
Поведение объектов? Как исключить пустые массивы, нулевые поля и т. Д.?Как управлять поведением json_encode?
Я имею в виду что-то вроде при использовании serialize()
, где вы можете реализовать магический __sleep()
метод и указать, какие свойства должны быть сериализовать:
class MyClass
{
public $yes = "I should be encoded/serialized!";
public $empty = array(); // // Do not encode me!
public $null = null; // Do not encode me!
public function __sleep() { return array('yes'); }
}
$obj = new MyClass();
var_dump(json_encode($obj));
Да, я знаю, что, но спасибо за ответ. Проблема в том, что когда B расширяет A, B не может изменить '$ privateVars' и сделать его' private'. – gremo
Сделал бы это защитой работы? Почему бы B сделать private private приватным, он уже закрыт. – Jarvix