2011-09-04 3 views
0

나에게 쉽게 ... 나는 젠드 프레임 워크에 새로운 브랜드입니다!젠드 프레임 워크 - 모듈 기반 시스템 아키텍처

저는 모듈로 확장 가능한 Zend를 사용하여 CMS를 만드는 가장 좋은 방법을 알아 내려고합니다. 이것들은 반드시 젠드 용 모듈 일 필요는없는 CMS 용 모듈입니다. 예를 들어, 이벤트 등록 모듈, 포토 갤러리 모듈 등이있을 수 있습니다. 각 모듈이 bootstrap.php의 _initRoutes() 대신 자체 URI를 정의하기를 원합니다. 이렇게하면 각 모듈이 CMS에있는 것과 같이 독립적 인 단위가 될 수 있습니다. 그 생각은 모듈의 메인 컨트롤러에 URI 정보를 정의하는 훅 (hook)이있을 수 있으며, 그 정보는 데이터베이스에 캐시되고 라우터에 의해 사용됩니다.

몇 가지 구체적인 질문 : 어떤 경로 모듈 내에서 특정 컨트롤러/액션에 대한 요청/메인 컨트롤러의 전면 컨트롤러의 모듈에

  1. 해야 프론트 컨트롤러에 요청을 라우팅? 기본적으로 각 모듈에는 컨트롤러/동작에 대한 요청 라우팅을 담당하는 자체 프론트 컨트롤러가 있습니다. 이것을하기위한 더 좋은 구조가 있습니까?
  2. URI를 정의하기 위해 모듈에 후크를 사용하는 것보다 나은 방법이 있습니까?

다시 한번 말하지만, 저는 젠드를 처음 접하고 기초를 이해하려고합니다. 어떤 입력이라도 대단히 감사합니다!

답변

1

프런트 컨트롤러가 모듈 내의 특정 컨트롤러/동작으로 요청을 라우팅하는 '프런트 컨트롤러'/ 주 컨트롤러 모듈로 요청을 라우팅해야합니까?

아니요, 하나의 프런트 컨트롤러 만 있으면됩니다.

URI를 정의하기 위해 모듈에 후크를 사용하는 것보다 나은 방법이 있습니까?

각 모듈을 ZF 모듈로 만들면 모듈 별 부트 스트랩 클래스를 만들 수 있습니다. 그런 다음 각 모듈 부트 스트랩 클래스에서 해당 모듈의 경로 만 정의하는 _initRoutes() 메소드를 추가 할 수 있습니다.

+0

그게 전부 야! 감사! ZF 모듈을 '활성화'또는 '비활성화'하는 방법은 무엇입니까? 또한, 어떻게 내가 테이블이나 뭐든간에 '설치'와 반대 '제거'에 대한 만들겠습니까? –

+1

메인 부트 스트랩에서 addModuleDirectory (모든 모듈을로드) 대신 addControllerDirectory를 사용하여 개별 부트를 추가 할 수 있습니다. 따라서 어떤 모듈이 사이트에서 사용되어야 하는지를 결정한 다음 각각에 대해 addControllerDirectory를 호출하는 목록을 반복 할 수 있습니다. 설치/제거와 관련하여 추가 모듈을 사용하는 방법 및 위치에 따라 다릅니다. –

+0

응답 해 주셔서 감사합니다. Im ZF에 새로 왔고 지금까지 그것을 좋아합니다. –