CI 묻고 답하기

제목 여러 게시판들 어떻게 소스 상에서 구분지으시나요?
카테고리 CI 2, 3
글쓴이 Hiell 작성시각 2017/05/07 23:02:39
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 14690   RSS

게시판 구현하며 공부하는 학생입니다.

지금은 일단 메인게시판, 사진게시판 두 개 만들어서 게시글 CRUD만 간단하게 구현해둔 상태구요.

 

컨트롤러에서는 하나의 write메소드 안에서 게시판 이름을 가지고 switch문으로 수행할 작업을 구분해서 실행시키고 있구요.

모델에서는 write_on_basic(), write_on_picture(), update_on_basic(), update_on_picture()... 뭐 이런 식으로 아예 메소드를 따로 만들었습니다

(게시판 별로 DB 테이블을 따로 만들었습니다, 테이블마다 각각 메소드가 있는게 맞는 것 같아 메소드도 다 따로 만들었구요)

뷰에서는 당장은 게시판별로 큰 차이가 없어서 한 파일에서 if문으로 구분지어서 출력시키고 있구요

 

근데 만들다보니 게시판 갯수가 많아지면 한 컨트롤러, 모델에 들어가는 소스가 무한정 늘어나겠더라구요.

정답이야 없겠지만 일반적으론 어떻게 구현하는지 궁금합니다.

 

그냥 저런식으로 한 군데에 몰아 두는 것이 맞는건가요?

그렇게되면 게시판 하나를 추가하고 삭제할때 소스 여기저기 손 볼 곳이 너무 많아져서 뭔가 이상한 것 같아서요.

 

제가 생각해보기로는, 게시판 갯수가 늘어나도 유사한 게시판들이 많을테니(자유게시판과 기타게시판 처럼요)

라이브러리에 BasicBoard, PictureBoard, QnaBoard 뭐 이런식으로 큰 종류별로 부모 클래스?를 만들어서

또 MainBoard, FreeQnaBoard 뭐 대충 이런식으로 만들어서 위의 부모클래스들을 상속, 재정의해서

사용하는 방법도 생각해봤는데요.

라이브러리 안에다 컨트롤러 로직들을 넣구요.

근데 이러면 또 모델은 어떻게 해야할지 잘 모르겠네요.

 

어떤 방법이 맞는 것인지 궁금합니다.

 다음글 페이지네이션 uri 세그먼트에 관하여.. (2)
 이전글 회원가입폼에서 아이디 중복검사를 하려는데, SQL을 어... (1)

댓글

변종원(웅파) / 2017/05/07 23:07:31 / 추천 0

보통은 하나로 만들고 게시판 종류에 따라 분기하는 형태로 만듭니다.

아주 특별하게 다른 게시판이라면 모를까 대부분은 공통으로 사용합니다. 말씀하신대로 유지보수가 안됩니다.