# La classe MongoDB\BSON\Binary

(mongodb >=1.0.0)

## Introduction

Type BSON pour les données binaires (i.e. tableau d'octets). Les valeurs binaires ont également un sous-type, qui est utilisé pour indiquer quel type de données se trouve dans le tableau d'octets. Les sous-types de zéro à 127 sont prédéfinis ou réservés. Les sous-types de 128-255 sont définis par l'utilisateur.

## Synopsis de la classe

final class MongoDB\BSON\Binary implements MongoDB\BSON\BinaryInterface, MongoDB\BSON\Type, JsonSerializable, Stringable {
/* Constantes */
const int TYPE_GENERIC = 0;
const int TYPE_FUNCTION = 1;
const int TYPE_OLD_BINARY = 2;
const int TYPE_OLD_UUID = 3;
const int TYPE_UUID = 4;
const int TYPE_MD5 = 5;
const int TYPE_ENCRYPTED = 6;
const int TYPE_COLUMN = 7;
const int TYPE_SENSITIVE = 8;
const int TYPE_USER_DEFINED = 128;
/* Méthodes */
final public __construct(string `$data`, int `$type` = MongoDB\BSON\Binary::TYPE_GENERIC)
final public getData(): string
final public getType(): int
final public jsonSerialize(): mixed
final public __toString(): string
}

## Constantes pré-définies

`MongoDB\BSON\Binary::TYPE_GENERIC`

  Données binaires génériques.

`MongoDB\BSON\Binary::TYPE_FUNCTION`

  Fonction.

`MongoDB\BSON\Binary::TYPE_OLD_BINARY`

  Données binaires génériques (déconseillées en faveur de `MongoDB\BSON\Binary::TYPE_GENERIC`).

`MongoDB\BSON\Binary::TYPE_OLD_UUID`

  Identificateur universellement unique (déconseillé en faveur de `MongoDB\BSON\Binary::TYPE_UUID`). Lors de l'utilisation de ce type, les données du binaire doivent être de 16 octets de longueur.

  Historiquement, d'autres pilotes encodent des valeurs avec ce type en fonction de leurs conventions linguistiques (par exemple, variable indianness), ce qui le rend non-portable. Le pilote PHP n'applique aucune manipulation spéciale pour coder ou décoder des données avec ce type.

`MongoDB\BSON\Binary::TYPE_UUID`

  Identificateur universellement unique. Lors de l'utilisation de ce type, les données du binaire doivent être de 16 octets de longueur et encodées selon » RFC 4122.

`MongoDB\BSON\Binary::TYPE_MD5`

  Hachage MD5. Lors de l'utilisation de ce type, les données du binaire doivent être de 16 octets de longueur.

`MongoDB\BSON\Binary::TYPE_ENCRYPTED`

  Valeur chiffrée. Ce sous type est utilisé pour le chiffrement côté client.

`MongoDB\BSON\Binary::TYPE_COLUMN`

  Donnée de colonne. Ce sous type est utilisé pour les collections de série temporelle.

`MongoDB\BSON\Binary::TYPE_SENSITIVE`

  Données sensible. Ce sous type est utilisé pour les données sensibles qui devraient être exclue des journaux d'évènements côté serveur si possible.

`MongoDB\BSON\Binary::TYPE_USER_DEFINED`

  Type défini par l'utilisateur. Alors que les types entre 0 et 127 sont prédéfinis ou réservés, les types entre 128 et 255 sont définis par l'utilisateur et peuvent être utilisés pour n'importe quoi.

## Historique

Version | Description
--- | ---
PECL mongodb 2.0.0 | Cette classe n’implémente plus l'interface Serializable.
PECL mongodb 1.17.0 | Ajout de `MongoDB\BSON\Binary::TYPE_SENSITIVE`.
PECL mongodb 1.12.0 | Implémente Stringable pour PHP 8.0+. Ajout de `MongoDB\BSON\Binary::TYPE_COLUMN`.
PECL mongodb 1.7.0 | Ajout de `MongoDB\BSON\Binary::TYPE_ENCRYPTED`.
PECL mongodb 1.3.0 | Implémente MongoDB\BSON\BinaryInterface.
PECL mongodb 1.2.0 | Implémente Serializable et JsonSerializable.

## Sommaire

- MongoDB\BSON\Binary::__construct — Construit un nouveau binaire
- MongoDB\BSON\Binary::getData — Retourne les données de Binary
- MongoDB\BSON\Binary::getType — Retourne le type de Binary
- MongoDB\BSON\Binary::jsonSerialize — Retourne une représentation qui peut être convertie en JSON
- MongoDB\BSON\Binary::__toString — Retourne les données de Binary