(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" } }