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