(mongodb >=1.0.0)
MongoDB\BSON\Unserializable::bsonUnserialize — Создаёт объект из BSON-массива или BSON-документа
Метод вызывается во время десериализации объекта из BSON-формата. Свойства BSON-массива или BSON-документа передадутся в метод в виде массива (array).
При обработке данных из BSON-документа требуется проверить, содержат ли данные свойство _id.
Замечание: Метод играет роль конструктора объекта. Метод __construct() не будет вызываться после этого метода.
data (array)Свойства в BSON-массиве или BSON-документе.
Значение возврата этого метода игнорируется.
Пример #1 Пример десериализации данных методом MongoDB\BSON\Unserializable::bsonUnserialize()
<?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"
}
}