2011-03-31 2 views
0

모듈을 통해 공유 할 리소스를로드 할 수있는 모듈 형 디렉토리 구조를 만드는 방법을 파악하는 데 많은 어려움을 겪고 있습니다. 예,Zend Framework 공통 리소스가있는 모듈

이제 내가하려는 것은 모듈 내에서/application/forms의 양식을로드하는 것입니다. 내가 시도한 모든 것은 이러한 클래스가로드되지 않도록합니다.

시도 : 1) Zend가 자동으로 시도하도록하십시오. 2) 응용 프로그램 경로 및 모듈에 대한 주 부트 스트랩의 모든 경로 지정. 즉,

protected function _initAutoload() 
{ 
    $front = $this->bootstrap("frontController")->frontController; 
    $modules = $front->getControllerDirectory(); 
    $default = $front->getDefaultModule(); 

    $moduleloader = new Zend_Application_Module_Autoloader(array(
     'namespace' => 'Application', 
     'basePath' => APPLICATION_PATH 
    )); 

    foreach (array_keys($modules) as $module) { 
     $moduleloader = new Zend_Application_Module_Autoloader(array(
      'namespace' => ucfirst(strtolower($module)), 
      'basePath' => $front->getModuleDirectory($module)) 
     ); 
    } 
} 

3) 내 책상 많은 시간에 내 머리를 스매싱.

.. 그렇습니다. 각 모듈 디렉토리에 빈 부트 스트랩이 있으므로 모듈에 루프가 필요 없다는 것을 알았습니다.

모든 의견을 환영합니다. 감사!

+0

죄송합니다. 설명이 잘못되었습니다. 저는 양식을 포함하지 않고 양식 요소를 포함합니다. 이 실현으로 Form_Element가 실제로 Zend_Application_Module_Autoloader에 매핑되었는지 확인하는 아이디어가 나왔습니다. 이것을 자원 유형에 추가하여 모든 것이 작동하기 시작했습니다. –

답변

0

이 시도 : 당신이 이미 알고있는 것 같은

protected function _initAutoload() 
{ 
    $autoloader = new Zend_Application_Autoloader_Resource(array(
     'namespace' => 'Application', 
     'basePath' => APPLICATION_PATH, 
     'resourceTypes' => array(
      'form' => array(
       'path' => 'forms/', 
       'namespace' => 'Form' 
      ) 
     ) 
    )); 

    return $autoloader; 
} 

당신은, 모듈 부품이 필요하지 않습니다. 필요에 따라 다른 자원 유형을 추가하십시오.

이것은 이미 알고있는 것에 매우 가깝기 때문에 다른 문제가있을 수 있습니다. 위는 그 가정 작동합니다 : 양식 클래스 (대소 문자 구분) Something.php이다 이러한 클래스의

  • 파일 이름을 Application_Form_Something 이름이 지정됩니다
  • 당신의 응용 프로그램에서/응용 프로그램 디렉토리에

    • APPLICATION_PATH 포인트를

    예 : 문의 양식이 있으시면 Application_Form_Contact으로 전화하시면 application/forms/Contact.php에 게시됩니다.

    아직 문제가있는 경우 찾을 수없는 양식 클래스의 예와 함께 전화하는 방법 및 위치를 포함하십시오.

  • +0

    내 스스로 실현 된 대답에 대한 내 의견보기. 나는 훌륭한 제안이 있었기 때문에 이것을 받아 들였고, 비슷한 문제를 가진 다른 누군가에게 유용 할 수 있습니다. –