# The MongoDB\Driver\ServerApi class

(mongodb >=1.10.0)

## Introducción

## Sinopsis de la Clase

final class MongoDB\Driver\ServerApi implements MongoDB\BSON\Serializable, Serializable {
/* Constantes */
const string MongoDB\Driver\ServerAPI::V1 = "1";
/* Métodos */
final public bsonSerialize(): stdClass
final public __construct(string `$version`, ?bool `$strict` = `null`, ?bool `$deprecationErrors` = `null`)
final public serialize(): string
final public unserialize(string `$data`): void
}

## Constantes predefinidas

`MongoDB\Driver\ServerApi::V1`

  Server API version 1.

## Ejemplos

Ejemplo #1 Declare an API version on a manager

`<?php
use MongoDB\Driver\Manager;
use MongoDB\Driver\ServerApi;
$v1 = new ServerApi(ServerApi::v1);
$manager = new Manager('mongodb://localhost:27017', [], ['serverApi' => $v1]);
$command = new MongoDB\Driver\Command(['buildInfo' => 1]);
try {
$cursor = $manager->executeCommand('admin', $command);
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
/* The buildInfo command returns a single result document, so we need to access
* the first result in the cursor. */
$buildInfo = $cursor->toArray()[0];
echo $buildInfo->version, "\n";
?>`

El resultado del ejemplo sería:

    4.9.0-alpha7-49-gb968ca0

Ejemplo #2 Declare a strict API version on a manager

The following example sets the `strict` flag, which tells the server to reject any command that is not part of the declared API version. This results in an error when running the buildInfo command.

`<?php
use MongoDB\Driver\Manager;
use MongoDB\Driver\ServerApi;
$v1 = new ServerApi(ServerApi::v1, true);
$manager = new Manager('mongodb://localhost:27017', [], ['serverApi' => $v1]);
$command = new MongoDB\Driver\Command(['buildInfo' => 1]);
try {
$cursor = $manager->executeCommand('admin', $command);
} catch(MongoDB\Driver\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
/* The buildInfo command returns a single result document, so we need to access
* the first result in the cursor. */
$buildInfo = $cursor->toArray()[0];
echo $buildInfo->version, "\n";
?>`

El resultado del ejemplo sería:

    Provided apiStrict:true, but the command buildInfo is not in API Version 1

## Tabla de contenidos

- MongoDB\Driver\ServerApi::bsonSerialize — Returns an object for BSON serialization
- MongoDB\Driver\ServerApi::__construct — Create a new ServerApi instance
- MongoDB\Driver\ServerApi::serialize — Serialize a ServerApi
- MongoDB\Driver\ServerApi::unserialize — Unserialize a ServerApi