无法在 php 中的构造函数中创建 MongoClient


Cant create MongoClient inside a constructor in php

我正在尝试在类的构造函数中创建MongoClient的实例。我收到错误说

Fatal error: Class 'Rate4Me'API'MongoClient' not found in C:'wamp64'www'Rate4Me'API'API_Pagination.php on line 18

这是类中的构造函数

public function __construct()
{
   new MongoClient();
   echo "constructor";
}

安装了 Mongo 驱动程序,扩展已更新。

能够在类外实例化MongoClient时进行连接。喜欢

{
    $m = new MongoClient();
    var_dump($m);
}

我不是 php 专家。刚开始学习php编码

您遇到了此问题。在这里阅读: http://php.net/manual/en/language.namespaces.faq.php#language.namespaces.faq.shortname1

你的

问题是,你的类的命名空间是Rate4Me'API的,当你尝试实例化一个非限定类(一个不以'开头的类)时,PHP 会自动首先从alias中查找该类,如果没有找到,它使用前缀'Rate4Me'API来查找该类,这是Rate4Me'API'MongoClient, 因此它失败了,因为你没有这个类。

因此,如果它不在您的包中,则应使用完全限定的类,例如'MongoClient'MongoId'MongoDate等。