소프트웨어 디자인에 문제가 있습니다. 내가 컨트롤러, 구성 요소,보기 및 도우미 사이의 관계를 디자인하고 싶습니다. 이 모델들은 Aricle
, Product
, List
입니다. Article
과 Product
의 내용에는 목록 태그가 [LIST=1]
형태로 있습니다.컨트롤러, 구성 요소, 뷰 및 도우미 간의 관계를 디자인하는 방법
그래서이 목록을 렌더링하여 태그 대신 콘텐츠에 삽입하고 싶습니다. 좋은 생각은 ListRendererHelper
일 것이고 View
과 같은 목록을 $this->ListRenderer->renderList($listId)
과 같이 렌더링합니다. ID를 데이터베이스에 나열하면 좋은 생각이지만 콘텐츠에서 가져와야합니다. 그리고 이것은 View
안에있는 객체로 조작하는 것은 좋지 않으며 View
에 많은 PHP 코드를 삽입하지 마십시오.
그래서 콘텐츠를 조작하는 가장 좋은 장소는 Controller
이며, 여기에서 목록 ID를 얻는 것이 좋습니다. 하지만 Controller
에 Helper
을 사용하지 않아야하므로 Controller
을 Component
으로 만들어야한다고 생각합니다. 그리고 여기에 내 문제가 있습니다. 왜냐하면 나는 Component
에 두 번 렌더 코드를 작성해야하고 DRY에 반대하는 코드는 Helper
입니다. 다른 해결책은 Component
안에 Helper
을 호출하는 것입니다.하지만 이는 MVC 중단 일 수도 있습니다. 그렇다면 누구나 디자인 방법을 알고 있습니까?
나는 그 원칙을 알고 있지만 혼란 스럽다. 다른 모델에서 관련 모델을 사용할 수 있습니까? –
그리고 도우미에서 요소()를 렌더링하는 가장 좋은 방법은 무엇입니까? –
ClassRegistry :: init() 다른 모델을로드합니다. 뷰 클래스를 사용하여 도우미에서 $ this -> _ View-> element(); 원리를 아는 경우 구성 요소에서 헬퍼를 사용하는 것과 같은 MVC 위반을 요청하는 이유는 무엇입니까? – burzum