发现致命错误RecursiveIteratorIterator

时间:2013-02-06 12:56:31

标签: php class namespaces iterator spl

正如标题所说,当我实例化一个课时,我得到了这样的信息:

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

您可以在此处查看课程:Class;

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

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

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

2 个答案:

答案 0 :(得分:12)

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

new \RecursiveIteratorIterator();

或在开头明确导入:

use \RecursiveIteratorIterator;

然后像往常一样使用它。

答案 1 :(得分:1)

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

使用\RecursiveIteratorIterator;

如果不这样做,则PHP期望RecursiveIteratorIterator存在于当前名称空间中,而不是存在于全局名称空间中(由前导\表示)