(mongodb >=1.0.0)
MongoDB\BSON\Unserializable::bsonUnserialize — 从 BSON 数组或文档构造对象
在从 BSON 反序列化对象期间调用。BSON 数组或文档的属性将作为 array 传递给该方法。
请记住在处理来自 BSON 文档的数据时检查 _id 属性。
注意: 此方法充当对象的 构造函数。在该方法之后 __construct() 方法 不会 被调用。
data
(array)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\fromJSON('{ "foo": "bar" }');
$value = MongoDB\BSON\toPHP($bson, ['root' => 'MyDocument']);
var_dump($value);
?>
上面的示例将输出
object(MyDocument)#1 (1) { ["data":"MyDocument":private]=> array(1) { ["foo"]=> string(3) "bar" } }