7

正如标题所说,当我实例化一个类时,我收到以下消息:

Fatal error: Class 'Envato\RecursiveIteratorIterator' not found in C:\Users\rgr\Apache\htdocs\Roland Groza [ 3.0 ]\class\envato\envato.php on line 359

您可以在这里查看课程:课程

我正在从另一个文件实例化:

require("envato.php");
$test = new Envato\EnvatoAPIWrapper();
echo "User Vitals : ".$test->get_user_vitals("chaoscod3r")."<br>";

这个类被一个命名空间包裹着,所以这可能与它有关,但我不确定,因为我已经有几年没有编写 PHP 了。希望有人知道我做错了什么:)

4

2 回答 2

14

要访问命名空间内的非命名空间类,如 PHP 和 SPL 的内部类,您必须使用完全限定的类名,如下所示:

new \RecursiveIteratorIterator();

或在开头显式导入:

use \RecursiveIteratorIterator;

然后像你一样正常使用它。

于 2013-02-06T13:08:46.367 回答
1

在命名空间的顶部添加一个 use 语句...

利用\RecursiveIteratorIterator;

如果你不这样做,那么 PHP 期望RecursiveIteratorIterator存在于你当前的命名空间中,而不是在全局命名空间中(由前导表示\

于 2013-02-06T13:07:11.027 回答