Menu Docs
Página inicial do Docs
/ / /
Manual da Biblioteca PHP
/ /

MongoDB\Client::__construct()

Nesta página

  • Definição
  • Parâmetros
  • Erros/exceções
  • Comportamento
  • Exemplos
  • Veja também
MongoDB\Client::__construct()

Constrói uma nova instância do Client .

function __construct(
?string $uri = null,
array $uriOptions = [],
array $driverOptions = []
)
$uri : string

A connection string do MongoDB. Consulte Connection Strings no manual do MongoDB para obter mais informações.

O padrão é "mongodb://127.0.0.1:27017" se não for especificado.

Quaisquer caracteres especiais nos componentes URI precisam ser codificados de acordo com RFC 3986. Isso é particularmente relevante para o nome de usuário e a senha, que geralmente podem incluir caracteres especiais, como @, : ou %. Ao conectar por meio de um soquete de domínio Unix, o caminho do soquete pode conter caracteres especiais, como barras, e deve ser codificado. O código bruto () pode ser usada para codificar partes constituintes do URI.

$uriOptions : array

Especifica opções adicionais de URI, como credenciais de autenticação ou parâmetros de string de query. As opções especificadas em $uriOptions têm precedência sobre quaisquer opções análogas presentes na $uri string e não precisam ser codificadas de acordo com a RFC 3986.

Consulte o MongoDB\Driver\Manager::__construct() documentação de extensão para uma lista de opções suportadas.

$driverOptions : array

Especifica opções específicas para o driver PHP. Além das opções de driver compatíveis com a extensão, a biblioteca também suporta a especificação de um mapa de tipos padrão para aplicar aos cursores que cria.

Nome
Tipo
Descrição
autoEncryption
array

Opções para configurar a criptografia em nível de campo do lado do cliente no driver. Consulte a documentação da extensão para obter uma lista de opções de criptografia suportadas.

Se um for fornecido para MongoDB\Client a keyVaultClient opção , ele será desencapsulado em um MongoDB\Driver\Manager para a extensão.

Novidade na versão 1.6.

driver
array

Metadados adicionais do driver serão passados para o handshake do servidor. Esta é uma array contendo name, version e platform campos de string. Por exemplo:

[
'name' => 'my-driver',
'version' => '1.2.3-dev',
'platform' => 'some-platform',
]

Observação

Esse recurso foi projetado principalmente para drivers personalizados e ODMs, que podem querer se identificar no servidor para fins de diagnóstico. Os aplicativos que desejam se identificar devem usar a opção appName URI em vez desta opção.

Novidade na versão 1.7.

API do servidor

Usado para declarar uma versão da API no cliente. Consulte a página de stable API no manual do servidor MongoDB para obter informações adicionais.

Novidades na versão 1.9.

typeMap
array

Mapa de tipo padrão aplicar aos cursores, o que determina como os documentos BSON são convertidos em valores PHP. A biblioteca usa o seguinte mapa de tipos por padrão:

[
'array' => 'MongoDB\Model\BSONArray',
'document' => 'MongoDB\Model\BSONDocument',
'root' => 'MongoDB\Model\BSONDocument',
]
allow_invalid_hostname
booleano

Desabilita a validação do nome de host se true. O padrão é false.

Permitir nomes de host inválidos pode expor o driver a um ataques do tipo man-in-the-middle.

Descontinuado desde a versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsAllowInvalidHostnames .

ca_dir
string

Caminho para um diretório de certificado com hash correto. O armazenamento de certificados do sistema será usado por padrão.

Retorna para a opção de contexto SSL capath obsoleta se não for especificada.

ca_file
string

Caminho para um arquivo de autoridade de certificação. O armazenamento de certificados do sistema será usado por padrão.

Retorna para a opção de contexto SSL cafile obsoleta se não for especificada.

Descontinuado desde a versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsCAFile .

crl_file
string
Caminho para um arquivo de lista de revogação de certificado.
pem_file
string

Caminho para um certificado codificado PEM a ser usado para autenticação do cliente.

Retorna para a opção de contexto SSL local_cert obsoleta se não for especificada.

Descontinuado desde a versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsCertificateKeyFile .

pem_pwd
string

Senha do certificado codificado PEM (se aplicável).

Retorna para a opção de contexto SSL passphrase obsoleta se não for especificada.

Descontinuado desde a versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsCertificateKeyFilePassword .

flexible_cert_validation
booleano

Desabilita a validação do certificado true . O padrão é false.

Retorna para a opção de contexto SSL allow_self_signed obsoleta se não for especificada.

Descontinuado desde a versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsAllowInvalidCertificates .

Contexto
recurso

Opções de contexto SSL para serem usados como fallbacks para outras opções de driver (conforme especificado). Observe que o driver não consulta o contexto de fluxo padrão.

Esta opção é suportada para compatibilidade com versões anteriores, mas deve ser considerada obsoleta.

MongoDB\Exception\InvalidArgumentException para erros relacionados à análise de parâmetros ou opções.

MongoDB\Driver\Exception\InvalidArgumentException para erros relacionados à análise de parâmetros ou opções no nível da extensão.

MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo, erros de conexão).

Um MongoDB\Driver\Manager é construído internamente. De acordo com a Descoberta e Monitoramento do Servidor MongoDB especificação, MongoDB\Driver\Manager::__construct() não executa E/S. As conexões serão inicializadas sob demanda, quando a primeira operação for executada.

Se você não especificar um valor do $uri, o driver conectará a um mongod autônomo no 127.0.0.1 via porta 27017. Para conectar a um servidor diferente, passe a string de conexão correspondente como o primeiro parâmetro ao criar a instância do Client:

<?php
$client = new MongoDB\Client('mongodb://mongodb-deployment:27017');

O exemplo a seguir demonstra como se conectar a um conjunto de réplicas com uma read preference personalizada:

<?php
$client = new MongoDB\Client(
'mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet',
[
'readPreference' => 'secondaryPreferred',
]
);

O seguinte exemplo demonstra como se conectar a um conjunto de réplicas do MongoDB definida com SSL e autenticação, como é utilizado para MongoDB Atlas:

<?php
$client = new MongoDB\Client(
'mongodb://myUsername:myPassword@rs1.example.com,rs2.example.com/?ssl=true&replicaSet=myReplicaSet&authSource=admin'
);

Alternativamente, as credenciais de autenticação e os parâmetros URI podem ser especificados no parâmetro $uriOptions do construtor:

<?php
$client = new MongoDB\Client(
'mongodb://rs1.example.com,rs2.example.com/'
[
'username' => 'myUsername',
'password' => 'myPassword',
'ssl' => true,
'replicaSet' => 'myReplicaSet',
'authSource' => 'admin',
],
);

O driver é compatível com opções SSL adicionais, que podem ser especificadas no parâmetro $driverOptions do construtor. Essas opções são abordadas na documentação do MongoDB\Driver\Manager::__construct().

Por padrão, a biblioteca PHP do MongoDB desserializa documentos e arrays BSON como objetos MongoDB\Model\BSONDocument e MongoDB\Model\BSONArray , respectivamente. O exemplo a seguir demonstra como fazer com que a biblioteca desserialize tudo como uma array PHP, como foi feito na extensão legada mongo .

<?php
$client = new MongoDB\Client(
null,
[],
[
'typeMap' => [
'root' => 'array',
'document' => 'array',
'array' => 'array',
],
]
);

Voltar

MongoDB\Client Class

Próximo

__get ()