Возвращает объект для BSON-сериализации

# MongoDB\Driver\ReadPreference::bsonSerialize

(mongodb >=1.2.0)

MongoDB\Driver\ReadPreference::bsonSerialize — Возвращает объект для BSON-сериализации

### Описание

final public function MongoDB\Driver\ReadPreference::bsonSerialize(): stdClass

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

Сигнатура функции не содержит параметров.

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

Метод возвращает объект для сериализации объекта ReadPreference в формате BSON.

### Ошибки

- При ошибке парсинга аргумента метод выбрасывает исключение MongoDB\Driver\Exception\InvalidArgumentException.

### Примеры

Пример #1 Пример сериализации методом MongoDB\Driver\ReadPreference::bsonSerialize() объекта с первичным предпочтением чтения

    <?php

    $rp = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::PRIMARY);
    var_dump($rp->bsonSerialize());

    echo "\n", MongoDB\BSON\Document::fromPHP($rp)->toRelaxedExtendedJSON();

    ?>

Вывод приведённого примера будет похож на:

    object(stdClass)#2 (1) {
      ["mode"]=>
      string(7) "primary"
    }

    { "mode" : "primary" }

Пример #2 Пример сериализации методом MongoDB\Driver\ReadPreference::bsonSerialize() объекта с вторичным предпочтением чтения и наборами тегов

    <?php

    $rp = new MongoDB\Driver\ReadPreference(
        MongoDB\Driver\ReadPreference::SECONDARY,
        [
            ['dc' => 'ny'],
            ['dc' => 'sf', 'use' => 'reporting'],
            []
        ]
    );
    var_dump($rp->bsonSerialize());

    echo "\n", MongoDB\BSON\Document::fromPHP($rp)->toRelaxedExtendedJSON();

    ?>

Вывод приведённого примера будет похож на:

    object(stdClass)#2 (2) {
      ["mode"]=>
      string(9) "secondary"
      ["tags"]=>
      array(3) {
        [0]=>
        object(stdClass)#1 (1) {
          ["dc"]=>
          string(2) "ny"
        }
        [1]=>
        object(stdClass)#5 (2) {
          ["dc"]=>
          string(2) "sf"
          ["use"]=>
          string(9) "reporting"
        }
        [2]=>
        object(stdClass)#4 (0) {
        }
      }
    }

    { "mode" : "secondary", "tags" : [ { "dc" : "ny" }, { "dc" : "sf", "use" : "reporting" }, {  } ] }

Пример #3 Пример использования MongoDB\Driver\ReadPreference::bsonSerialize() с вторичным предпочтением чтения и максимальным staleness

    <?php

    $rp = new MongoDB\Driver\ReadPreference(
        MongoDB\Driver\ReadPreference::SECONDARY,
        null,
        ['maxStalenessSeconds' => 120]
    );
    var_dump($rp->bsonSerialize());

    echo "\n", MongoDB\BSON\Document::fromPHP($rp)->toRelaxedExtendedJSON();

    ?>

Вывод приведённого примера будет похож на:

    object(stdClass)#2 (2) {
      ["mode"]=>
      string(9) "secondary"
      ["maxStalenessSeconds"]=>
      int(120)
    }

    { "mode" : "secondary", "maxStalenessSeconds" : 120 }

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

- MongoDB\BSON\Serializable::bsonSerialize() - Сериализует данные как BSON-массив или BSON-документ
- » Справочная информация по предпочтению чтения

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open