2013-02-06 42 views
5

正如標題所說,當我實例化一個類我得到這個消息:致命錯誤RecursiveIteratorIterator沒有找到

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。希望有人有一個想法是什麼,我做錯了:)

回答

10

要訪問一個命名空間內非命名空間類,如PHP和SPL的內部類,你必須完全使用合格的課程名稱如下:

new \RecursiveIteratorIterator(); 

或開頭明確的導入:

use \RecursiveIteratorIterator; 

,然後用它通常像你一樣。

+0

這適用於我所有的方法或僅適用於PHP核心方法? – Roland

+1

它適用於所有非名稱空間**類,用戶定義或不是。但不是函數,函數名稱可以動態解析,因爲它們不受自動加載。 –

1

在您的命名空間的頂部添加use語句...

使用\RecursiveIteratorIterator;

如果你不那麼PHP預計RecursiveIteratorIterator到當前的命名空間中的存在,而不是在全局命名空間(由領先\所示)

相關問題