MongoDB\BSON\Unserializable::bsonUnserialize

Constructs the object from a BSON array or document

説明

abstract public void MongoDB\BSON\Unserializable::bsonUnserialize(array $data)

Called during unserialization of the object from BSON. The properties of the BSON array or document will be passed to the method as an array.

Remember to check for an _id property when handling data from a BSON document.

注意: This method acts as the constructor of the object. The __construct() method will not be called after this method.

パラメータ

data (array)

Properties within the BSON array or document.

戻り値

The return value from this method is ignored.

例1 MongoDB\BSON\Unserializable::bsonUnserialize example

<?php

class MyDocument implements MongoDB\BSON\Unserializable
{
    private $data = [];

    function bsonUnserialize(array $data): void
    {
        $this->data = $data;
    }
}

$bson = MongoDB\BSON\Document::fromJSON('{ "foo": "bar" }');

var_dump($bson->toPHP(['root' => 'MyDocument']));

?>

上の例の出力は以下となります。

object(MyDocument)#1 (1) {
  ["data":"MyDocument":private]=>
  array(1) {
    ["foo"]=>
    string(3) "bar"
  }
}

参考

  • MongoDB\BSON\Serializable::bsonSerialize
  • MongoDB\BSON\Persistable
  • Persisting Data