2012-11-24 1 views
7

방금 ​​Zend Framework 학습을 시작했지만 모듈에 문제가 있습니다. 아래 오류를 참조하십시오. 나는 당신에게 아직 더 많은 정보를 보여줄 다른 무엇이 있는지 모른다. 문제 해결을 위해 필요한 정보를 알려주십시오.ZF2 - 오토로더 클래스 맵 치명적 오류 '제공된 맵 파일이 존재하지 않습니다.'

치명적인 오류 : catch되지 않은 예외 '젠드 \ 로더 \ 예외 \ InvalidArgumentException 당신이 그때는 아마 이런 일이 실제로 autoload_classmap.php 파일을 사용하는 모듈에서 예제 코드를 복사 한 경우

Fatal error: Uncaught exception 
'Zend\Loader\Exception\InvalidArgumentException' with message 'Map 
file provided does not exist. Map file: "C:\Program 
Files\xampp\htdocs\zend_intro\module\Album/autoload_classmap.php"' in 
C:\Program 
Files\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php:175 
Stack trace: #0 C:\Program 
Files\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php(85): 
Zend\Loader\ClassMapAutoloader->loadMapFromFile('C:\Program File...') 
#1 C:\Program Files\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php(121): 
Zend\Loader\ClassMapAutoloader->registerAutoloadMap('C:\Program 
File...') #2 C:\Program 
Files\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php(64): 
Zend\Loader\ClassMapAutoloader->registerAutoloadMaps(Array) #3 
C:\Program 
Files\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Lo 
in C:\Program 
Files\xampp\htdocs\zend_intro\vendor\zendframework\zendframework\library\Zend\Loader\ClassMapAutoloader.php 
on line 175

답변

9

당신의 module.config.php 파일이나 어딘가에 Module.php 파일 :

public function getAutoloaderConfig() 
{ 
    return array(
     'Zend\Loader\ClassMapAutoloader' => array( // THIS IS 
      __DIR__ . '/autoload_classmap.php'  // THE PROBABLE 
     ),           // CULPRIT 
     'Zend\Loader\StandardAutoloader' => array(
      'namespaces' => array(
       __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__ 
      ) 
     ) 
    ); 
} 

해결책은 무엇입니까? 해당 코드 줄을 제거하십시오 - 각 모듈에 대한 오토로더 클래스 맵이 필요하지 않습니다 - 실제로는 create a classmap입니다.

1

zend_intro/모듈/앨범에서 autoload_classmap.php라는 파일을 생성하고이 코드 줄을 포함한다 : 자세한 내용 Autoloading files

0

에 대한 설명서에

return array(); 

확인이 module.config.phpClassMapAutoLoader 매핑을 제거하면 StandardA 만 있어야합니다. 다음과 같은 utoloader;

public function getAutoloaderConfig() 
{ 
    return array(
     'Zend\Loader\StandardAutoloader' => array(
      'namespaces' => array(
       __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
      ), 
     ), 
    ); 
} 

이렇게하면 문제가 해결됩니다.