2011-05-11 2 views
0

그래서 파일 구조에 문제가있어, 반복하지 않는 것이 가장 좋습니다. 음악, 영화, 프로그램 등 다른 각 섹션과 공유되는 기능을 얻으려고합니다. 좋아하는 기능, 추천, 태그 및 목록. 각 섹션의 기능에 최소한의 코드 반복과 쉬운 보안 액세스가 가능하도록 구조화 방법에 대한 조언을 찾고 있습니다. 세부 사항은 아래와 같습니다. 또한 연료 PHP 프레임 워크를 사용하고 있습니다 : http://fuelphp.com/파일 구조 + 컨트롤러 간의 공유 기능

음악, 영화, 프로그램이 있습니다. (http://domain.com/music/view/1) 각 목록이 지원하는 태그 : (http://domain.com/music/tag/view/rock)

지금까지는 쉽지만 기능은 다음과 같습니다. '좋아요'와 '추천'을 사용하면 혼란 스럽습니다. 각 목록의 컨트롤러에서 '좋아요'를 가질 수 있기 때문입니다. 예 (http://domain.com/music/like/1) 또는 자체 컨트롤러 (http://domain.com/like/music/1).

또한 각 목록에는 리뷰가있는 유사한 목록과 각 권장 사항에 대한 '좋아요'가 나열된 '권장 사항'이 있습니다. 따라서 '좋아요'는 목록 및 권장 사항 일 수 있습니다.

음악 (Model_Music) 일대일 Model_List]

- 좋아

- 태그 (대다)

- 연합 권고 (상호 참조)

- 목록 (이 경우에는 [일대]

쇼 (Model_Shows) 모든 트랙과 노래 이름) [일대일 Model_List]

,

- 태그 (다 대다)

- - 권고 (UNION에 의해 ​​상호 참조)

-이 경우 목록 (모든 에피소드 이름과 번호

을 좋아한다) [일대 다]

대부분의 정보는 URL 구조가 다르며 테이블을 변경할 때 사용하는 코드가 동일합니다. 나는 각 항목 music.php, shows.php, movies.php에 추가 될 어떤 다른 것들에 대해서도이 모든 추가 기능들을 다루는 것에 대해 좀 더 경험있는 견해만을 필요로한다.

답변

1

기본 컨트롤러를 만들어 모든 특정 업체 정보를 구축하는 것이 좋습니다.

컨트롤러 디렉토리에 목록 폴더를 만들고 목록 디렉토리에있는 모든 컨트롤러의 기본 주소는 listings.php입니다.

목록 컨트롤러에서 기본 컨트롤러를 확장하면 기본 컨트롤러에있는 모든 기능이 상속됩니다.

자세한 내용은 how to structure base controllers in fuel입니다.