Czy istnieje sposób kontrolowania zachowania json_encode
obiektów? Jak wykluczanie pustych tablic, pól pustych i tak dalej?Jak kontrolować zachowanie json_encode?
mam na myśli coś podobnego podczas korzystania serialize()
, gdzie można wdrożyć magiczną __sleep()
metody i określić, jakie właściwości powinny być w odcinkach:
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));
Tak, wiem o tym, ale dzięki za odpowiedź. Problem polega na tym, że gdy B rozszerza A, B nie może zmodyfikować '$ privateVars' i uczynić go' prywatnym'. – gremo
Czy włączenie tej funkcji chroni? Dlaczego B ma uczynić prywatną prywatną wartość $ private, to już jest prywatne. – Jarvix