2013-04-07 6 views
1

다른 모듈 안에 여러 개의 모듈을 포함 할 수 있습니까? 내가 간단한 예제를 찾고 있어요 또는 문서 사람이 알고Zend Framework 2의 중첩 모듈

/module 
    /Application 
     /module 
      /SubApplication1 
      /SubApplication2 

:

이 같은 유사한 구조가 될 수 있습니다. 나는 참조 용으로 봤지만 zf2의이 부분이 지금까지 탐구되지 않은 것처럼 보인다.

+0

은 매우 간단합니다, 하나 개의 모듈에서 여러 네임 스페이스를 사용하는 방법이있다. 보십시오 [여기] (http://stackoverflow.com/questions/15777140/multiple-namespaces-under-same-module-in-zf2/15779461#15779461) 어떻게 할 수 있는지 확인하십시오. 기꺼이하기 위해서'ModuleManager'로 많은 일을해야한다고 생각합니다. –

답변

1

모듈 내에 여러 개의 네임 스페이스가있는 것이 쉽습니다. Zend Autoloader에 구성을 제공하면됩니다. Zend\Loader\StandardAutoloader의 경우 설정이 모듈에서 설정할 수 있으며 같은 것을 보일 것이다 다음 Zend\Loader\ClassMapAutoloader를 들어

public function getAutoloaderConfig() 
{ 
    return array(
     'Zend\Loader\ClassMapAutoloader' => array(
      __DIR__ . '/autoload_classmap.php', 
     ), 
     'Zend\Loader\StandardAutoloader' => array(
      'namespaces' => array(
       // This is the default namespace most probably the module dir name 
       __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
       // And this is for your custom namespace within the module 
       'SomeNamespace' => __DIR__ . '/src/' . 'SomeNamespace', 
       'OtherNamespace' => __DIR__ . '/src/' . 'OtherNamespace', 
      ), 
     ), 
    ); 
} 

는 동일한 개념입니다. 네임 스페이스를 클래스 파일과 일치 시키면됩니다.

// file: ~/autoload_classmap.php 
return array(
    'SomeNamespace\Controller\SomeController' => __DIR__ . '/src/SomeNamespace/Controller/SomeController.php', 
    'OtherNamespace\Controller\OtherController' => __DIR__ . '/src/OtherNamespace/Controller/OtherController.php', 
); 

주의해야 할 사항! 하위 모듈 네임 스페이스의 이름이 다른 모듈 네임 스페이스와 충돌하지 않는지 확인하십시오. 이 도움이

희망 :

의 Stoyan