MongoDB\Driver\Manager 类

(mongodb >=1.0.0)

简介

MongoDB\Driver\Manager 是扩展的主要入口点。它负责维护与 MongoDB 的连接(无论是独立服务器、副本集还是分片集群)。

实例化 Manager 时不会建立与 MongoDB 的连接。这意味着即使一个或多个 MongoDB 服务器处于宕机状态,始终可以构造 MongoDB\Driver\Manager

任何写入或查询都可能抛出连接异常,因为连接是延迟创建的。MongoDB 服务器也可能在脚本运行期间变得不可用。因此,重要的是将 Manager 上的所有操作都包装在 try/catch 语句中。

类概要

final class MongoDB\Driver\Manager {
/* 方法 */
final public __construct(?string $uri = null, ?array $uriOptions = null, ?array $driverOptions = null)
final public getServers(): array
}

示例

示例 #1 MongoDB\Driver\Manager::__construct() 基本示例

var_dump() 对一个 MongoDB\Driver\Manager 对象进行操作会打印出该管理器的一些细节信息,这些信息通常不会被公开。这对于调试驱动程序如何看待您的 MongoDB 设置以及使用了哪些选项非常有用。

<?php

$manager
= new MongoDB\Driver\Manager('mongodb://localhost:27017');
var_dump($manager);

?>

上面的示例将输出类似以下内容:

object(MongoDB\Driver\Manager)#1 (2) {
  ["uri"]=>
  string(26) "mongodb://127.0.0.1:27017/"
  ["cluster"]=>
  array(0) {
  }
}

目录

添加注释

用户贡献注释 3 notes

mike at eastghost dot com
5 年前
根据 Mongo 的说法,这个(即 MongoDB\Driver\Manager)是扩展的“入口点”。

"此类是 MongoDB PHP 库的入口点。它是连接到 MongoDB 服务器或服务器集群的首选类,并充当访问单个数据库和集合的网关。MongoDB\Client 与驱动程序的 MongoDB\Driver\Manager 类类似,它包含该类。"

复制自这里:https://docs.mongodb.com/php-library/master/reference/class/MongoDBClient/

然而,这里 php.net 上的“mongodb”文档与 mongo 网站上的“mongodb 驱动程序”文档之间的任何比较都显示出巨大且不断变化的差异。
gbormann dot nospam at telenet dot be
4 年前
关于 MongoDB\Driver\Manager 的最终性质的模拟含义
可以使用包装类通过间接方式模拟最终类。
Zalmoksis
6 年前
值得注意的是,Manager 是最终的,因此您无法使用像 PhpUnit 这样的工具轻松地模拟它。
To Top