ConFoo 2025

MongoDB\BSON\toPHP

(mongodb >=1.0.0)

MongoDB\BSON\toPHPВозвращает PHP-представление BSON-значения

Внимание

Метод УСТАРЕЛ с версии модуля 1.20.0, а в версии 2.0 метод удалят. Вместо этого метода приложениям лучше вызывать метод MongoDB\BSON\Document::toPHP().

Описание

MongoDB\BSON\toPHP(string $bson, array $typeMap = array()): array|object

Метод десериализует BSON-документ — двоичную строку — в его PHP-представление. Через параметр typeMap управляют PHP-типами, через которые преобразовывают BSON-массивы и BSON-документы (как корневые, так и встроенные).

Внимание

Документы BSON технически могут содержать повторяющиеся ключи, поскольку документы хранятся в виде списка пар ключ-значение; однако приложениям следует воздерживаться от создания документов с дубликатами ключей, поскольку поведение сервера и драйвера может быть неопределённым. Поскольку объекты и массивы PHP не могут иметь повторяющихся ключей, данные также могут быть потеряны при декодировании документа BSON с повторяющимися ключами.

Список параметров

bson (string)

Значение BSON для десериализации.

typeMap (array)

Конфигурация карты типов.

Возвращаемые значения

Метод возвращает PHP-значение, которое сгенерировал путём десериализации BSON-документа.

Ошибки

  • Метод выбрасывает исключение MongoDB\Driver\Exception\InvalidArgumentException, если класс в карте типов невозможно создать или класс не реализует интерфейс MongoDB\BSON\Unserializable.
  • Метод выбрасывает исключение MongoDB\Driver\Exception\UnexpectedValueException, если во входных данных передали больше одного BSON-документа. Возможные причины включают, но не ограничиваются недопустимым BSON-форматом, лишними данными или неожиданной ошибкой » libbson.

Список изменений

Версия Описание
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)
}

Смотрите также

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top