array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'mongodb-bson-unserializable.bsonunserialize.php', 1 => 'MongoDB\\BSON\\Unserializable::bsonUnserialize', ), 'up' => array ( 0 => 'class.mongodb-bson-unserializable.php', 1 => 'MongoDB\\BSON\\Unserializable', ), 'prev' => array ( 0 => 'class.mongodb-bson-unserializable.php', 1 => 'MongoDB\\BSON\\Unserializable', ), 'next' => array ( 0 => 'class.mongodb-bson-binaryinterface.php', 1 => 'MongoDB\\BSON\\BinaryInterface', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/mongodb/bson/unserializable/bsonunserialize.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(mongodb >=1.0.0)
MongoDB\BSON\Unserializable::bsonUnserialize — Construit l'objet à partir d'un tableau ou d'un document BSON
Appelé lors de la désérialisation de l'objet à partir de BSON. Les propriétés du tableau ou du document BSON seront transmises à la méthode sous la forme d'un tableau.
N'oubliez pas de rechercher une propriété _id lors de la gestion des données à partir d'un document BSON.
Note: Cette méthode agit comme le constructeur de l'objet. La méthode __construct() ne sera pas appelée après cette méthode.
data
(array)Propriétés ayant le tableau ou le document BSON.
La valeur de retour de cette méthode est ignorée.
Exemple #1 Exemple avec MongoDB\BSON\Unserializable::bsonUnserialize()
<?php
class MyDocument implements MongoDB\BSON\Unserializable
{
private $data = [];
function bsonUnserialize(array $data): void
{
$this->data = $data;
}
}
$bson = MongoDB\BSON\fromJSON('{ "foo": "bar" }');
$value = MongoDB\BSON\toPHP($bson, ['root' => 'MyDocument']);
var_dump($value);
?>
Résultat de l'exemple ci-dessus est similaire à :
object(MyDocument)#1 (1) { ["data":"MyDocument":private]=> array(1) { ["foo"]=> string(3) "bar" } }