MongoDB\BSON\Unserializable::bsonUnserialize

(mongodb >=1.0.0)

MongoDB\BSON\Unserializable::bsonUnserialize β€” Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· BSON-массива ΠΈΠ»ΠΈ BSON-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

ОписаниС

abstract public function MongoDB\BSON\Unserializable::bsonUnserialize(array $data): void

ΠœΠ΅Ρ‚ΠΎΠ΄ вызываСтся Π²ΠΎ врСмя дСсСриализации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· BSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Бвойства BSON-массива ΠΈΠ»ΠΈ BSON-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° пСрСдадутся Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² Π²ΠΈΠ΄Π΅ массива (array).

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· BSON-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° трСбуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, содСрТат Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ свойство _id.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ конструктора ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ __construct() Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ послС этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

data (array)
Бвойства Π² BSON-массивС ΠΈΠ»ΠΈ BSON-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° игнорируСтся.

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

ВСрсия ОписаниС
PECL-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ mongodb 2.0.0 Π’ΠΈΠΏΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ для ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² интСрфСйса ΠΏΡ€Π΅ΠΆΠ΄Π΅ объявили ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ, стали ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #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\Document::fromJSON('{"foo": "bar"}');

var_dump($bson->toPHP(['root' => 'MyDocument']));

?>

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

object(MyDocument)#1 (1) {
  ["data":"MyDocument":private]=>
  array(1) {
    ["foo"]=>
    string(3) "bar"
  }
}

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы