Cita:
Iniciado por pateketrueke Bueno, para mantener privadas dichas propiedades y a su vez obtener sus valores es tan fácil como construir el objeto/array a mano.
Código PHP:
Ver original 'foo' => $obj->getFoo(),
'bar' => $obj->getBar()
));
Usa tu ingenio.
El problema es que si agregas propiedades tienes que cambiar el
json_enconde también. Lo que se puede hacer es que el objeto se encargue de devolver el arreglo por si mismo.
Para versiones menores a PHP 5.4 puedes hacer algo como lo siguiente:
Código PHP:
Ver original// No estan los métodos para simplificar
class Empleado {
private $nrodoc = NULL;
private $nombre = NULL;
private $cuil = NULL;
public function toArray(){
}
}
$empleado = new Empleado();
En version a partir de la 5.4 puedes implementar la interfaz JsonSerializable:
http://www.php.net/manual/en/class.jsonserializable.php
Ejemplo:
Código PHP:
Ver originalclass Empleado implements JsonSerializable {
private $nrodoc = NULL;
private $nombre = NULL;
private $cuil = NULL;
public function jsonSerialize()
{
}
}
// json_encode llama al metodo jsonSerialize
$empleado = new Empleado();