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 に答える