4

私はsimfony2が初めてなので、初心者の質問で申し訳ありません。

DirectoryIteratorまたはなどのいくつかのクラスを使用しようとするとDOMDocument、次の例外が発生します。

PHP Fatal error:  Class 'My\TestBundle\Command\DirectoryIterator' not found in /var/www/simfony2/src/My/TestBundle/Command/TestCommand.php on line 214

simfony2 環境の外で同じコードを実行しようとすると、コードは正常に実行され、phpinfo()表示 PHP Version => 5.3.10-1ubuntu3.4され、インクルード パスはデフォルトに加えて ZF2 が追加されます。

繰り返しますが、組み込みのphpクラスを使用するのではなく、バンドル内のクラスを検索するため、これはおそらく構成の問題であることはわかっていますが、これを解決する方法がわかりません。

編集:これは、実行しようとしているコードのコピーです:

protected function execute(InputInterface $input, OutputInterface $output) {
 $classes=get_declared_classes();
 print_r($classes);      
 $d= new DirectoryIterator("/");
}

コマンドを実行すると、クラスが表示されます

...
[73] => DirectoryIterator
...

でも使えない

4

1 に答える 1

15

これは名前空間に関連しています!

symfony 自体とは何の関係もありません。別の名前空間内のグローバル クラスの前に
広告を表示する必要があります\

$class = new \DirectoryIterator;

symfony を続ける前に、最初に php のマニュアルを読むことをお勧めします!

于 2013-01-19T23:39:19.857 に答える