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

时间:2016-03-20 12:15:03

标签: php mongodb helper

我正在尝试在类的构造函数中创建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编码

1 个答案:

答案 0 :(得分:1)

您遇到了这个问题。请在此处阅读: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等。