저는 ZF2를 배우고 응용 프로그램을 계획 중입니다.ZF2 : 모듈 그룹
여러 개의 모듈 그룹으로 1 개의 응용 프로그램을 갖고 싶습니다. 각 모듈 그룹에는 최대 20 개 이상의 모듈이 포함될 수 있습니다.
전체 앱의 고유 한 모듈 이름을 보장 할 수는 없지만 모듈 그룹 내에서의 고유성을 보장 할 수는 있습니다.
호스팅 라우터를 사용하여 모듈 그룹으로 요청을 라우팅하는 것이 이상적입니다.
=> '관리자/푸/인덱스/색인' http://admin.mysite.com/foo/,
http://special.mysite.com/foo/ => '특수/푸/인덱스/색인'
아이디어 # 1
내가 다른를 사용하는 기대했다 각 모듈 그룹에 대한 module_path 및 모듈 그룹 주위의 모듈 경로 이름을 지정하여 모듈 클래스의 고유성을 판별하십시오. 그러나 module_autoloader로 전송 된 모듈은 전달 된 문자열의 첫 번째 부분에만주의를 기울이는 것처럼 보입니다.
이- 세 올바른 모듈 컨트롤러를 가리 킵니다 그러나 그들은 (모듈 목록에서 첫 번째) 관리 \의 관리자에 대한 뷰를로드
array('modules' => array( 'Admin\Admin','Admin\Bob','Admin\Users' ));
이것은 내가 이해할 수없는 이상한 행동을 얻는다 그들 자신의 대신에.
- I.E./users, Admin \ Users \ IndexController를로드하지만 Admin \ Admin \ view \ admin \ Index \ index.phtml보기 스크립트를 사용하십시오.
템플릿 인 젝트에 대한 약간의 변경으로이 문제를 해결할 수 있지만 어질러 놓은. 자신의 서브 디렉토리에
아이디어 # 2
그냥 접두사 모듈 이름 예를 들어,
namespace AdminAdmin\Controller,
class IndexController {}
생각
- 네임 스페이스 클래스 접두사 선호 할 것입니다 우리가 대신 각 모듈에 대해 하드 코딩 된 경로를 사용 가능한이만큼을 자동화하려는
- 을 일반적인 쿠키 호스트/memcache 및 db 등을 통해 인증을위한 모듈을 공유하는 여러 응용 프로그램을 사용하는 것이 합리적 일 수 있습니다.
- 모듈 컨트롤러의 treeRouteStack 내부에서 호스팅 유형 경로를 사용하여 각 모듈을 특정 하위 도메인에 라우팅합니다.
질문 :
- 이 상황 또는 유사한 이유에 대한 가장 좋은 방법은 자신인가?
(1)의 네임 모듈
이 기본적 ZF2 가능합니다 : 귀하의 질문의
ZF2 모듈을 올바르게 이해 했습니까? ZF2에서 "모듈로 라우팅"과 같은 것이 없으므로 ZF1 모듈로 작업하는 것처럼 가정을하고있는 것처럼 보입니다. – Ocramius
내 용어를 용서하지만, 루트가 zf2의 특정 모듈을 가리키는 많은 * working * 응용 프로그램을 사용했습니다. –
ZF2의 모듈은 라우팅 할 수있는 것이 아닌 기능입니다. \ 컨트롤러에 연결할 수 있습니다 ... 이름을 바꾸면 다른 질문이지만 개념을 별도로 유지하면 전원을 어떻게 발휘할 수 있는지 이해하는 데 도움이됩니다 모듈 관리자의 전체 "병합"메커니즘;) – Ocramius