Generar getters y setters en PHP de forma automática con Visual Studio Code
13 de agosto de 2021Cómo ver el tamaño de un directorio desde la consola en Linux
23 de agosto de 2021En esta ocasión te quiero mostrar cómo convertir un objeto PHP a JSON con tan solo una línea de código. Lo haremos utilizando una función nativa de PHP por lo que no será necesario instalar ninguna dependencia o librería externa de PHP.
Partimos de una clase en PHP que puede ser la siguiente:
class MiClase {
private $atributo1;
private $atributo2;
public function __construct($atributo1, $atributo2){
$this->atributo1 = $atributo1;
$this->atributo2 = $atributo2;
}
public function getAtributo1() {
return $this->atributo1;
}
public function getAtributo2() {
return $this->atributo2;
}
public function setAtributo1($atributo1) {
$this->atributo1 = $atributo1;
}
public function setAtributo2($atributo2) {
$this->atributo2 = $atributo2;
}
}
Y ahora vamos a crear un método más donde vamos a convertir, o serializar como también se le suele llamar, el objeto PHP a JSON:
public function toJSON(){
return json_encode(get_object_vars($this));
}
De esta forma, con la función get_object_vars recuperamos los atributos del objeto, de forma que no tenemos que serializar el objeto atributo a atributo, y con json_encode lo pasamos a JSON.
Ya sabes cómo convertir un objeto PHP a JSON. Puedes aprender más en nuestra sección de PHP.
La documentación de PHP es muy extensa y bien explicada, además de estar en español, por lo que debería ser una de nuestras principales fuentes de consulta cuando queramos aprender a hacer algo.
Espero que te haya sido de utilidad!
2 Comments
Hola Antonio, Tengo un archivo .json el cual quiero que cada cierto tiempo (ej. 10 segundos) cambie los valores
{«url»:»1.sitio.com»} 10 segundos despues {«url»:»2.sitio.com»} y asi sucesivamente esto se podria hacer en php y que automaticamente me cambie los valores del archivo json?
Hola Carlos!
Puedes hacer un script en PHP que tenga la lógica que necesites para generar ese archivo JSON. La periocidad la puedes programar en un CRON en tu hosting. Es decir, que cada X segundos se ejecute ese script, y que ese script haga lo que tu quieras en tu archivo JSON.
Espero haberme explicado. En caso contrario, comentamelo y veo como te puedo ayudar.
Gracias por tu comentario
Un saludo