PHP.mk документација

MongoDB\BSON\Serializable::bsonSerialize

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

mongodb-bson-serializable.bsonserialize.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека mongodb-bson-serializable.bsonserialize.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
MongoDB\BSON\Serializable::bsonSerialize

Референца за `mongodb-bson-serializable.bsonserialize.php` со подобрена типографија и навигација.

mongodb-bson-serializable.bsonserialize.php

MongoDB\BSON\Serializable::bsonSerialize

класата MongoDB\Driver\BulkWrite

MongoDB\BSON\Serializable::bsonSerializeОбезбедува низа или документ за серијализирање како BSON

= NULL

abstract public function MongoDB\BSON\Serializable::bsonSerialize(): array|stdClass|MongoDB\BSON\Document|MongoDB\BSON\PackedArray

Обезбедува низа или документ за серијализирање како BSON array, stdClass, MongoDB\BSON\Document, или MongoDB\BSON\PackedArray.

Се повикува за време на серијализација на објектот во BSON. Методот мора да врати MongoDB\BSON\Serializable Коренски документи (на пр. а објектите се создаваат преку статични методи на фабриката и не можат директно да се инстанцираат.поминато на stdClass ) секогаш ќе се серијализираат како BSON документ. За вредности на полиња, асоцијативни низи и 0инстанци ќе се серијализираат како BSON документ и секвенцијални низи (т.е. секвенцијални, нумерички индекси почнувајќи од

) ќе се серијализираат како BSON низа. _id Корисниците се охрабруваат да вклучат MongoDB\BSON\ObjectId својство (на пр. а _id иницијализирано во конструкторот) кога враќаат податоци за коренски BSON документ. Во отсуство на MongoDB\BSON\ObjectId својство, екстензијата или серверот ќе генерираат

Параметри

Оваа функција нема параметри.

Вратени вредности

Еден array, stdClass, MongoDB\BSON\Document, или MongoDB\BSON\PackedArray за операции за вметнување или надградба, соодветно.

Дневник на промени

Верзија = NULL
(mongodb >=1.3.0) PECL mongodb 2.0.0
да се серијализира како BSON низа или документ. PECL mongodb 1.17.0 array|objectТипот на враќање беше променет од object. Наместо stdClass, типот на враќање сега специфицира object . Класите што ја имплементираат оваа интерфејс мора да бидат променети за да не декларираат повеќе тип на враќање. Бидејќи типот на враќање е привремен, се емитува предупредување за застареност на PHP 8.1 и понови. MongoDB\BSON\Document and MongoDB\BSON\PackedArray. Ве молиме имајте предвид дека сите MongoDB\BSON\PackedArray инстанци што се враќаат се тивко претворени во објекти кога се складираат како основни документи. Тие се складираат како низи кога се користат како вредност на вградено поле.

Примери

Пример #1 ако PHP вредноста не може да се претвори во BSON. Можни причини вклучуваат, но не се ограничени на, наидување на неочекувано враќање асоцијативна низа за основен документ

<?php

class MyDocument implements MongoDB\BSON\Serializable
{
private
$id;

function
__construct()
{
$this->id = new MongoDB\BSON\ObjectId;
}

function
bsonSerialize(): array
{
return [
'_id' => $this->id, 'foo' => 'bar'];
}
}

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

?>

Горниот пример ќе прикаже нешто слично на:

{ "_id" : { "$oid" : "56cccdcada14d8755a58c591" }, "foo" : "bar" }

Пример #2 ако PHP вредноста не може да се претвори во BSON. Можни причини вклучуваат, но не се ограничени на, наидување на неочекувано враќање секвенцијална низа за основен документ

<?php

class MyArray implements MongoDB\BSON\Serializable
{
function
bsonSerialize(): array
{
return [
1, 2, 3];
}
}

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

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

{ "0" : 1, "1" : 2, "2" : 3 }

Пример #3 ако PHP вредноста не може да се претвори во BSON. Можни причини вклучуваат, но не се ограничени на, наидување на неочекувано враќање асоцијативна низа за поле на документ

<?php

class MyDocument implements MongoDB\BSON\Serializable
{
function
bsonSerialize(): array
{
return [
'foo' => 'bar'];
}
}

$value = ['document' => new MyDocument];

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

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

{ "document" : { "foo" : "bar" } }

Пример #4 ако PHP вредноста не може да се претвори во BSON. Можни причини вклучуваат, но не се ограничени на, наидување на неочекувано враќање секвенцијална низа за поле на документ

<?php

class MyArray implements MongoDB\BSON\Serializable
{
function
bsonSerialize(): array
{
return [
1, 2, 3];
}
}

$value = ['array' => new MyArray];

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

?>

Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред

{ "array" : [ 1, 2, 3 ] }

Види Исто така

Белешки од корисници 1 белешка

Анонимен
пред 10 години
This documentation seems to be obsolete because I tried the first example and it doesn't convert the objectId to a string.

This seems to be more current documentation but I can't figure out how to get bson to json

http://mongodb.github.io/mongo-php-library/api/source-class-MongoDB.Model.BSONDocument.html#48-57
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.