¿Hay alguna forma de controlar el comportamiento de json_encode
en los objetos? ¿Como excluir matrices vacías, campos nulos, etc.?¿Cómo controlar el comportamiento de json_encode?
que quiere decir algo así como cuando se utiliza serialize()
, donde se puede poner en práctica la magia método __sleep()
y especificar qué propiedades deben ser serializados:
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));
sí, ya sé eso, pero gracias por la respuesta. El problema es cuando B extiende A, B no puede modificar '$ privateVars' y lo convierte' privado'. – gremo
¿Sería un trabajo protegido? ¿Por qué B haría privado $ PrivateVars, ya es privado. – Jarvix