Fonction: jsonSerializable :: jSonSerialize ()
Version applicable: PHP 5> = 5.4.0, php 7
Utilisation: la méthode jsonSerializable :: jsonSerialize () est utilisée pour sérialiser un objet qui implémente l'interface jsonSerializable. Cette méthode est automatiquement appelée lorsque l'objet est codé au format JSON.
Exemple:
class MyObject implements JsonSerializable { private $data; public function __construct($data) { $this->data = $data; } public function jsonSerialize() { return $this->data; } } $obj = new MyObject(array('foo' => 'bar', 'baz' => 'qux')); echo json_encode($obj);
Sortir:
{"foo":"bar","baz":"qux"}
Dans l'exemple ci-dessus, nous définissons une classe appelée MyObject
et implémentons l'interface JsonSerializable
. Cette interface n'a qu'une seule méthode jsonSerialize()
, qui renvoie des données qui doivent être sérialisées en JSON.
Dans jsonSerialize()
, nous renvoyons simplement $data
de l'objet.
Nous créons ensuite une instance de MyObject
et prenons un tableau associatif comme argument au constructeur.
Enfin, nous encodons l'objet en tant que chaîne JSON à l'aide json_encode()
et la sortie.
Le résultat est un objet JSON contenant l'attribut $data
: {"foo":"bar","baz":"qux"}
.
Notez que lorsque l'objet est codé en JSON, jsonSerialize()
est automatiquement appelée pour fournir les données qui doivent être sérialisées. Cela signifie que vous n'avez pas besoin d'appeler la méthode manuellement.