2011-04-06 4 views
3

예를 들어 홈페이지, 개요, 기능 등 여러 가지 특수한 정보 페이지를 관리하는 단일 컨트롤러 색인이 있습니다. 각 페이지는 컨트롤러에서 자체 작업을 수행합니다. 동작에 따라 다른 View 스크립트가 콘텐츠를 렌더링하는 데 사용됩니다.작업에 따라보기를 변경하는 것은 나쁜 습관입니까?

각 작업을 렌더링하기 위해 다른 View 스크립트를 사용하는 것은 나쁜 습관입니까? 각 페이지마다 컨트롤러가 있어야합니까? 감사합니다,

+0

'Zend_Layout'과'Zend_View_Helpers'를 읽어 보면, 두려운 부분이 있다면 여러 개의 뷰 파일에 걸쳐 내용을 복제 할 필요가 거의 없을 것입니다. – chelmertz

답변

3

실제로 젠드 프레임 워크 MVC가 구현하는 표준 모범 사례입니다. 그것이 젠드 프레임 워크가 여러분이 그것을하고 싶어하는 방식입니다! 나쁜 습관 일 수 있다고 두려워하는 이유는 무엇입니까? 질문의 두 번째 방법으로

...

각 페이지는 자신의 컨트롤러를해야합니까?

아니요, 페이지 방향으로 생각하지 않으려면 기능 단위으로 생각하십시오. 예를 들어 페이지에 사용자 관리이 필요한 경우 대부분 userController입니다.

기능은 무엇입니까 컨트롤러가 수행해야합니까?

  • 사용자가 친구를 선택할 수
  • 사용자가 자신의 데이터를 편집 할 수

    • 사용자를 추가,
    • 사용자를 삭제,,,

    그래서 이러한 각 기능은된다 당신의 userController (function = method = action)에있는 액션.

    이렇게하면 읽기 쉬운 URL도 자동으로 표시됩니다. 마지막으로 모든 작업에는 해당 작업에 필요한 마크 업이있는 .phtml보기 스크립트가 있습니다.

  • +0

    URL 가독성을 고려한 +1 : – Tjorriemorrie

    +0

    감사합니다. 나는 그 방법으로 나의 어플리케이션을 구조화함으로써 패배를 위해 스스로를 설정하고 있다는 것을 두려워했습니다. –

    3

    전혀 나쁜 관행이 아닙니다. PHP 응용 프로그램과 다른 시나리오를 생각해보십시오. 사용자를위한 CRUD (작성, 읽기, 업데이트, 삭제).

    모든 작업은 사용자의 동일한 컨트롤러에 있어야합니다.

    나는 일반적으로 사용

    • 인덱스 - 모든 사용자에게
    • 추가를 보여줍니다 - 새 사용자에게
    • 를 만들고 편집 -
    • 삭제 기존 사용자 편집 - 사용자를 삭제을 (하지 않습니다 리디렉션 만하는보기가 있음).

    적절한 경우 동일한보기를 사용하는 것이 좋지만 추가/수정이 색인보기와 동일한보기를 공유 할 가능성은 없습니다.

    +0

    조언 해 주셔서 감사합니다. –

    관련 문제