2013-02-06 32 views
5

Jak mówi tytuł, gdy wystąpienia klasy otrzymuję komunikat:Błąd krytyczny RecursiveIteratorIterator Nie znaleziono

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

można oglądać klasę tutaj: Class;

mam instancji z innego pliku:

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

Klasa jest opatrywana nazw, tak, że może mieć coś wspólnego z tym, ale nie był pewien, ponieważ minęło kilka lat od Nie kodowałem PHP. Mam nadzieję, że ktoś ma pomysł co to jest, że robię źle :)

Odpowiedz

10

aby uzyskać dostęp non-przestrzeni nazw klas, takich jak wewnętrzne klas PHP i SPL wewnątrz przestrzeni nazw trzeba korzystać w pełni kwalifikowana nazwa klasy:

new \RecursiveIteratorIterator(); 

lub zaimportować je wyraźnie na początku:

use \RecursiveIteratorIterator; 

a następnie używać go normalnie, jak to zrobić.

+0

Dotyczy to wszystkich moich metod lub tylko podstawowych metod PHP? – Roland

+1

Obowiązuje dla wszystkich ** klas ** bez nazw z nazwami, zdefiniowanych przez użytkownika lub nie. Ale nie dla funkcji, nazwy funkcji mogą być rozwiązywane dynamicznie, ponieważ nie podlegają automatycznemu ładowaniu. –

1

Dodaj oświadczenie wykorzystanie na górze nazw ...

korzystanie \RecursiveIteratorIterator;

Jeśli nie to PHP oczekuje RecursiveIteratorIterator aby istnieć w aktualnej przestrzeni nazw, zamiast w globalnej przestrzeni nazw (wskazanym przez prowadzącego \)

Powiązane problemy