2013-01-19 6 views
2

저는 simfony2를 처음 사용했습니다.'DirectoryIterator'클래스를 찾을 수 없습니다.

나는 그런 DirectoryIterator 또는 DOMDocument 나는 다음과 같은 예외가 나타납니다 같은 일부 클래스 사용하려고하면 : 그것은 코드가 잘 실행 simfony2 환경 외부 동일한 코드를 실행하려고하면

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

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("/"); 
} 

I 클래스

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

을 볼 수 있습니다하지만 사용할 수 없습니다 그것

답변

7

이것은 namespace와 관련있다!

심포니 자체와는 아무런 관련이 없습니다.
당신이해야 다른 네임 스페이스

$class = new \DirectoryIterator; 

난 당신이 심포니를 계속하기 전에 먼저 PHP 매뉴얼을 읽어 제안 안에 글로벌 클래스 전에 광고 \!

+0

감사합니다. 나는 잠시 동안 PHP를 사용 해왔다.하지만 전에는 네임 스페이스를 사용하지 않았고 get_declared_classes()는 슬래시를 사용하지 않았다. :) – SimSimY

+0

또는'use' 연산자를 사용하십시오 ... – lonesomeday

+0

@SimSimY 저는 PHP 통합 네임 스페이스가 처음에는 혼란스럽고별로 의미가 없다는 것을 인정합니다. ;) – Gintro

관련 문제