# BSON type classes and serialization functions

- Functions
  - MongoDB\BSON\fromJSON — Returns the BSON representation of a JSON value
  - MongoDB\BSON\fromPHP — Returns the BSON representation of a PHP value
  - MongoDB\BSON\toCanonicalExtendedJSON — Returns the Canonical Extended JSON representation of a BSON value
  - MongoDB\BSON\toJSON — Returns the Legacy Extended JSON representation of a BSON value
  - MongoDB\BSON\toPHP — Returns the PHP representation of a BSON value
  - MongoDB\BSON\toRelaxedExtendedJSON — Returns the Relaxed Extended JSON representation of a BSON value
- MongoDB\BSON\Binary — The MongoDB\BSON\Binary class
  - MongoDB\BSON\Binary::__construct — Construct a new Binary
  - MongoDB\BSON\Binary::getData — Returns the Binary's data
  - MongoDB\BSON\Binary::getType — Returns the Binary's type
  - MongoDB\BSON\Binary::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\Binary::serialize — Serialize a Binary
  - MongoDB\BSON\Binary::__toString — Returns the Binary's data
  - MongoDB\BSON\Binary::unserialize — Unserialize a Binary
- MongoDB\BSON\Decimal128 — The MongoDB\BSON\Decimal128 class
  - MongoDB\BSON\Decimal128::__construct — Construct a new Decimal128
  - MongoDB\BSON\Decimal128::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\Decimal128::serialize — Serialize a Decimal128
  - MongoDB\BSON\Decimal128::__toString — Returns the string representation of this Decimal128
  - MongoDB\BSON\Decimal128::unserialize — Unserialize a Decimal128
- MongoDB\BSON\Javascript — The MongoDB\BSON\Javascript class
  - MongoDB\BSON\Javascript::__construct — Construct a new Javascript
  - MongoDB\BSON\Javascript::getCode — Returns the Javascript's code
  - MongoDB\BSON\Javascript::getScope — Returns the Javascript's scope document
  - MongoDB\BSON\Javascript::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\Javascript::serialize — Serialize a Javascript
  - MongoDB\BSON\Javascript::__toString — Returns the Javascript's code
  - MongoDB\BSON\Javascript::unserialize — Unserialize a Javascript
- MongoDB\BSON\MaxKey — The MongoDB\BSON\MaxKey class
  - MongoDB\BSON\MaxKey::__construct — Construct a new MaxKey
  - MongoDB\BSON\MaxKey::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\MaxKey::serialize — Serialize a MaxKey
  - MongoDB\BSON\MaxKey::unserialize — Unserialize a MaxKey
- MongoDB\BSON\MinKey — The MongoDB\BSON\MinKey class
  - MongoDB\BSON\MinKey::__construct — Construct a new MinKey
  - MongoDB\BSON\MinKey::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\MinKey::serialize — Serialize a MinKey
  - MongoDB\BSON\MinKey::unserialize — Unserialize a MinKey
- MongoDB\BSON\ObjectId — The MongoDB\BSON\ObjectId class
  - MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId
  - MongoDB\BSON\ObjectId::getTimestamp — Returns the timestamp component of this ObjectId
  - MongoDB\BSON\ObjectId::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\ObjectId::serialize — Serialize an ObjectId
  - MongoDB\BSON\ObjectId::__toString — Returns the hexidecimal representation of this ObjectId
  - MongoDB\BSON\ObjectId::unserialize — Unserialize an ObjectId
- MongoDB\BSON\Regex — The MongoDB\BSON\Regex class
  - MongoDB\BSON\Regex::__construct — Construct a new Regex
  - MongoDB\BSON\Regex::getFlags — Returns the Regex's flags
  - MongoDB\BSON\Regex::getPattern — Returns the Regex's pattern
  - MongoDB\BSON\Regex::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\Regex::serialize — Serialize a Regex
  - MongoDB\BSON\Regex::__toString — Returns the string representation of this Regex
  - MongoDB\BSON\Regex::unserialize — Unserialize a Regex
- MongoDB\BSON\Timestamp — The MongoDB\BSON\Timestamp class
  - MongoDB\BSON\Timestamp::__construct — Construct a new Timestamp
  - MongoDB\BSON\Timestamp::getIncrement — Returns the increment component of this Timestamp
  - MongoDB\BSON\Timestamp::getTimestamp — Returns the timestamp component of this Timestamp
  - MongoDB\BSON\Timestamp::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\Timestamp::serialize — Serialize a Timestamp
  - MongoDB\BSON\Timestamp::__toString — Returns the string representation of this Timestamp
  - MongoDB\BSON\Timestamp::unserialize — Unserialize a Timestamp
- MongoDB\BSON\UTCDateTime — The MongoDB\BSON\UTCDateTime class
  - MongoDB\BSON\UTCDateTime::__construct — Construct a new UTCDateTime
  - MongoDB\BSON\UTCDateTime::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\UTCDateTime::serialize — Serialize a UTCDateTime
  - MongoDB\BSON\UTCDateTime::toDateTime — Returns the DateTime representation of this UTCDateTime
  - MongoDB\BSON\UTCDateTime::__toString — Returns the string representation of this UTCDateTime
  - MongoDB\BSON\UTCDateTime::unserialize — Unserialize a UTCDateTime
- MongoDB\BSON\Type — The MongoDB\BSON\Type interface
- MongoDB\BSON\Persistable — The MongoDB\BSON\Persistable interface
- MongoDB\BSON\Serializable — The MongoDB\BSON\Serializable interface
  - MongoDB\BSON\Serializable::bsonSerialize — Provides an array or document to serialize as BSON
- MongoDB\BSON\Unserializable — The MongoDB\BSON\Unserializable interface
  - MongoDB\BSON\Unserializable::bsonUnserialize — Constructs the object from a BSON array or document
- MongoDB\BSON\BinaryInterface — The MongoDB\BSON\BinaryInterface interface
  - MongoDB\BSON\BinaryInterface::getData — Returns the BinaryInterface's data
  - MongoDB\BSON\BinaryInterface::getType — Returns the BinaryInterface's type
  - MongoDB\BSON\BinaryInterface::__toString — Returns the BinaryInterface's data
- MongoDB\BSON\Decimal128Interface — The MongoDB\BSON\Decimal128Interface interface
  - MongoDB\BSON\Decimal128Interface::__toString — Returns the string representation of this Decimal128Interface
- MongoDB\BSON\JavascriptInterface — The MongoDB\BSON\JavascriptInterface interface
  - MongoDB\BSON\JavascriptInterface::getCode — Returns the JavascriptInterface's code
  - MongoDB\BSON\JavascriptInterface::getScope — Returns the JavascriptInterface's scope document
  - MongoDB\BSON\JavascriptInterface::__toString — Returns the JavascriptInterface's code
- MongoDB\BSON\MaxKeyInterface — The MongoDB\BSON\MaxKeyInterface interface
- MongoDB\BSON\MinKeyInterface — The MongoDB\BSON\MinKeyInterface interface
- MongoDB\BSON\ObjectIdInterface — The MongoDB\BSON\ObjectIdInterface interface
  - MongoDB\BSON\ObjectIdInterface::getTimestamp — Returns the timestamp component of this ObjectIdInterface
  - MongoDB\BSON\ObjectIdInterface::__toString — Returns the hexidecimal representation of this ObjectIdInterface
- MongoDB\BSON\RegexInterface — The MongoDB\BSON\RegexInterface interface
  - MongoDB\BSON\RegexInterface::getFlags — Returns the RegexInterface's flags
  - MongoDB\BSON\RegexInterface::getPattern — Returns the RegexInterface's pattern
  - MongoDB\BSON\RegexInterface::__toString — Returns the string representation of this RegexInterface
- MongoDB\BSON\TimestampInterface — The MongoDB\BSON\TimestampInterface interface
  - MongoDB\BSON\TimestampInterface::getIncrement — Returns the increment component of this TimestampInterface
  - MongoDB\BSON\TimestampInterface::getTimestamp — Returns the timestamp component of this TimestampInterface
  - MongoDB\BSON\TimestampInterface::__toString — Returns the string representation of this TimestampInterface
- MongoDB\BSON\UTCDateTimeInterface — The MongoDB\BSON\UTCDateTimeInterface interface
  - MongoDB\BSON\UTCDateTimeInterface::toDateTime — Returns the DateTime representation of this UTCDateTimeInterface
  - MongoDB\BSON\UTCDateTimeInterface::__toString — Returns the string representation of this UTCDateTimeInterface
- MongoDB\BSON\DBPointer — The MongoDB\BSON\DBPointer class (deprecated)
  - MongoDB\BSON\DBPointer::__construct — Construct a new DBPointer (unused)
  - MongoDB\BSON\DBPointer::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\DBPointer::serialize — Serialize a DBPointer
  - MongoDB\BSON\DBPointer::__toString — Returns an empty string
  - MongoDB\BSON\DBPointer::unserialize — Unserialize a DBPointer
- MongoDB\BSON\Int64 — The MongoDB\BSON\Int64 class
  - MongoDB\BSON\Int64::__construct — Construct a new Int64 (unused)
  - MongoDB\BSON\Int64::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\Int64::serialize — Serialize an Int64
  - MongoDB\BSON\Int64::__toString — Returns the string representation of this Int64
  - MongoDB\BSON\Int64::unserialize — Unserialize an Int64
- MongoDB\BSON\Symbol — The MongoDB\BSON\Symbol class (deprecated)
  - MongoDB\BSON\Symbol::__construct — Construct a new Symbol (unused)
  - MongoDB\BSON\Symbol::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\Symbol::serialize — Serialize a Symbol
  - MongoDB\BSON\Symbol::__toString — Returns the Symbol as a string
  - MongoDB\BSON\Symbol::unserialize — Unserialize a Symbol
- MongoDB\BSON\Undefined — The MongoDB\BSON\Undefined class (deprecated)
  - MongoDB\BSON\Undefined::__construct — Construct a new Undefined (unused)
  - MongoDB\BSON\Undefined::jsonSerialize — Returns a representation that can be converted to JSON
  - MongoDB\BSON\Undefined::serialize — Serialize a Undefined
  - MongoDB\BSON\Undefined::__toString — Returns an empty string
  - MongoDB\BSON\Undefined::unserialize — Unserialize a Undefined