(mongodb >=1.0.0)
MongoDB\BSON\toPHP — Возвращает PHP-представление BSON-значения
Метод УСТАРЕЛ с версии модуля 1.20.0, а в версии 2.0 метод удалят. Вместо этого метода приложениям лучше вызывать метод MongoDB\BSON\Document::toPHP().
Метод десериализует BSON-документ — двоичную строку — в его PHP-представление.
Через параметр typeMap
управляют PHP-типами,
через которые преобразовывают BSON-массивы и BSON-документы (как корневые, так и встроенные).
Документы BSON технически могут содержать повторяющиеся ключи, поскольку документы хранятся в виде списка пар ключ-значение; однако приложениям следует воздерживаться от создания документов с дубликатами ключей, поскольку поведение сервера и драйвера может быть неопределённым. Поскольку объекты и массивы PHP не могут иметь повторяющихся ключей, данные также могут быть потеряны при декодировании документа BSON с повторяющимися ключами.
Метод возвращает PHP-значение, которое сгенерировал путём десериализации BSON-документа.
Версия | Описание |
---|---|
PECL-модуль mongodb 1.4.0 |
Модуль больше не записывает предупреждение в журнал отладки, если входные данные содержат устаревший BSON-тип, который не поддерживается модулем. Вместо этого метод создаст объект, который представляет такой тип. |
PECL-модуль mongodb 1.3.2 |
Метод больше не выбрасывает исключение MongoDB\Driver\Exception\UnexpectedValueException если входные данные содержат устаревший BSON-тип, который не поддерживается модулем. Метод проигнорирует такие типы (как и в версиях до 1.3.0), хотя модуль теперь записывает предупреждение в журнал отладки (смотрите описание директивы mongodb.debug). |
PECL-модуль mongodb 1.3.0 |
Метод выбрасывает исключение MongoDB\Driver\Exception\UnexpectedValueException, если входные данные содержат устаревший BSON-тип, который не поддерживается модулем. Раньше модуль игнорировал такие типы. |
Пример #1 Пример преобразования BSON-значения в PHP-представление методом MongoDB\BSON\toPHP()
<?php
$bson = hex2bin('0e00000010666f6f000100000000');
$value = MongoDB\BSON\toPHP($bson);
var_dump($value);
?>
Результат выполнения приведённого примера:
object(stdClass)#1 (1) { ["foo"]=> int(1) }