MongoDB\BSON\Binary::__construct

Construct a new Binary

&reftitle.description; final public `MongoDB\BSON\Binary::__construct` `string` `data` `int` `type` MongoDB\BSON\Binary::TYPE_GENERIC
&reftitle.parameters;

`data` (`string`)

- Binary data.

`type` (`int`)

- Unsigned 8-bit integer denoting the data's type. Defaults to `MongoDB\BSON\Binary::TYPE_GENERIC` if not specified.

&reftitle.errors;

&mongodb.throws.argumentparsing;
- Throws `MongoDB\Driver\Exception\InvalidArgumentException` if `type` is not an unsigned 8-bit integer.
- Throws `MongoDB\Driver\Exception\InvalidArgumentException` if `type` is `MongoDB\BSON\Binary::TYPE_UUID` or `MongoDB\BSON\Binary::TYPE_OLD_UUID` and `data` is not exactly 16 bytes in length.

&reftitle.changelog;

&Version; | &Description;
PECL mongodb 1.15.0 | The `type` parameter defaults to `MongoDB\BSON\Binary::TYPE_GENERIC` if not specified.
PECL mongodb 1.3.0 | `MongoDB\Driver\Exception\InvalidArgumentException` is thrown if `type` is `MongoDB\BSON\Binary::TYPE_UUID` or `MongoDB\BSON\Binary::TYPE_OLD_UUID` and `data` is not exactly 16 bytes in length.
PECL mongodb 1.1.3 | `MongoDB\Driver\Exception\InvalidArgumentException` is thrown if `type` is not an unsigned 8-bit integer.

&reftitle.examples;

### `MongoDB\BSON\Binary::__construct` example

    <?php

    $binary = new MongoDB\BSON\Binary('foo', MongoDB\BSON\Binary::TYPE_GENERIC);
    var_dump($binary);

    ?>

&example.outputs;

    object(MongoDB\BSON\Binary)#1 (2) {
      ["data"]=>
      string(3) "foo"
      ["type"]=>
      int(0)
    }

&reftitle.seealso;

- BSON Types