문제

매뉴얼에있는 Zend Framework 모듈 식 응용 프로그램의 기본 디렉토리 구조를 알고 있습니다.

/application
  /controllers
  /modules
    /admin
      /controllers
      /views
  /views
  /configs
/www
  index.php

하지만 왜 이런 식으로 해야하는지 궁금합니다. 기본 모듈이 들어있는 것은 정말 sux입니다 /신청 그리고 다른 모듈 /Application/Modules/: moduleName. 이것은 a보다 토론 질문에 가깝습니다 도와주세요 의문.

다음과 같은 디렉토리 구조를 갖는 장단점은 무엇입니까?

/application
  /modules
    /admin
      /controllers
      /views
    /default
      /controllers
      /views
  /configs
/www
  index.php

내 관점에서 볼 때 유일한 단점은 기본 / 수동으로 작성되지 않았다는 것입니다. 나는 다른 것을 볼 수 없습니다. 내가 뭔가를 놓치고 있습니까?

더욱이 -이 구조는 새로운 ZF 응용 프로그램의 경우 기본 구조가되어야한다고 생각합니다. 그리고 Zend 개발자가 왜 사용하지 않는지 궁금합니다.

도움이 되었습니까?

해결책

실제로 제안 된 디렉토리 구조는 크고 복잡한 응용 프로그램에 적합합니다.

오늘날 세계 최고의 오픈 소스 전자 상거래 솔루션 인 Magento는 Zend Framework에서 코딩되었으며 제안과 유사한 디렉토리 레이아웃을 사용합니다.이 방법으로 새로운 모듈을 확장하고 추가하고 이전 모듈을 관리하기가 매우 쉽습니다.

간단한 앱과 학습을 위해 Zend는 모두 기본 디렉토리 구조를 고수 할 것을 제안합니다.

다른 팁

나는 이런 식으로 다음과 같다고 생각합니다.

  • 응용 프로그램에 모듈이 없을 때 사용되는 기본 구조가 있습니다 (즉, 기본 모듈 만 - "기본"디렉토리가 필요하지 않음)
  • 그러면 모듈을 추가 할 수 있습니다. 기존 구조를 수정할 필요없이.

그것은 다른 것만 큼 좋은 설명입니다.


그럼에도 불구하고 여러 모듈이 포함 된 응용 프로그램을 개발하고 처음부터 이것을 알고 있다면 아마도 당신이 제안한 스트리트의 종류와 함께 갈 것입니다.

제 생각에는 상황이 더 분명 할 것입니다. 그리고 나는 그것에 아무런 문제가 없습니다!

(사실, 나는 한 번, 꽤 오랫동안, 꽤 오랫동안 문제를 해결하지 못했습니다. 그러나 이것은 "완전한"응용 프로그램이 아니 었습니다. 더 많은 프로토 타입 ...)

실제로 그것은 상세한 옵션 중 하나입니다 http://framework.zend.com/manual/en/zend.controller.modular.html

당신의 길은 잘 들리며 ZF의 요점은 직접 물건을 관리하는 방법을 선택할 수 있다는 것입니다. 한 가지 장점은 코드가 약간 적습니다. Zend의 기본 접근 방식에서는 다음을 사용해야합니다.

$front = Zend_Controller_Front::getInstance();
$front->addControllerDirectory('/path/to/application/controllers', 'default');
$front->addModuleDirectory('/path/to/application/modules');

접근 방식에서는 다음과 같이 설명합니다.

$front = Zend_Controller_Front::getInstance();
$front->addModuleDirectory('/path/to/application/modules');

필요한 전부입니다.

Zend의 접근 방식의 장점 중 하나는 모듈이 필요하지 않은 경우 AddModuledirectory () 메소드를 실행할 필요가 없습니다. 귀하의 접근 방식을 사용하면 항상 실행해야하므로 잠재적으로 작은 오버 헤드를 생성해야합니다.

이 페이지 http://framework.zend.com/manual/en/project-tructure.project.html 기본 컨트롤러 디렉토리가있는 상태 "애플리케이션 디렉토리 내부에는 간단한 프로젝트를 시작하고 글로벌 컨트롤러/모델/뷰가있는 모듈 식 프로젝트를 시작하는 데 가장 적합한 레이아웃을 제공합니다."

Zend의 관점은 기본 모듈 만있는 간단한 사이트와 여러 모듈이있는 더 복잡한 사이트에서 작동한다는 것입니다. 추가 모듈이 모듈/ 디렉토리에 있습니다. 그러나 하루가 끝나면 개인적인 취향입니다.

나는 같은 문제를 겪고있다. 그러나 나는 이것을 제대로 설정하는 데 성공하지 못한다 ... 이것을 사용하려는 이유는 Zen_application과 결합 된 모듈 식 구조가/application/module/name/forms (및 컨트롤러,, 컨트롤러, 컨트롤러에 네임 스페이스를 등록하는 module_bootstrapper를 인스턴스화하기 때문입니다. 보기, 모델 등) 자동으로.

내가 가진 유일한 문제는 '기본값'모듈을 제거하는 것입니다 : S

Zend 포럼에서 주제를 찾을 수 있습니다. http://forums.zend.com/viewtopic.php?f=69&t=2394&start=0

잘만되면 응답이되기를 바랍니다. OT 여기에 게시하겠습니다.

원하는 아키텍처를 여기에서 찾을 수 있습니다. http://www.osebboy.com/blog/zend-framework-modules/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top