CI 묻고 답하기

제목 게시판 만들고 있는데요 컨트롤러가 너무 길어져서 문의드립니다...
글쓴이 작성시각 2012/12/24 12:16:50
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13625   RSS
 안녕하세요.
코드이그나이터로 게시판을 제작중인데요,
컨트롤러에서 리스트 와이트 뷰 페이지 및 수정 삭제를 board컨트롤러로 전부 구현하다 보니
스크롤이 심하게 길어지네요.
해당 로직을 수정하려고 찾으려면 컨트롤 + f를 눌러야 할 정도에요 ... 
고수님들의 좋은 아이디어 있을가요 ?
 다음글 파일업로드시 경로 에러. (4)
 이전글 ci 에서 ajax 사용시 [초보ㅡㅡ;] (4)

댓글

헛발이 / 2012/12/24 12:43:49 / 추천 0
콘트롤러는 말 그대로 어떠한 로직의 콘트롤(제어)만 하는 곳으로 생각하셔야 합니다.
즉 콘트롤러에서는 이렇게만 하는거죠...

값을 가져온다
값을 뷰로 전달 한다.


이것만 하는것이죠...

하지만 값을 가져오는것은 라이브러리로 가서 가져 오는것이고...
라이브러리에서는 뭘 하냐 하면..

모델에서 값을 가져온다.
가져온 값을 가공하여 뷰에서 출력할 양식으로 변환 한다.


이렇게 하는것이죠.
값을 가공할때도 반복되는 부분이나 함수로 빼내야 겠다 하는것들은 핼퍼로 빼내도 되고
라이브러리에 따로 함수 묶음을 만들어도 되고요...

모델에선 가능하면 이렇게 하죠..

라이브러리에서 불필요하게 프로그램을 짜지 않도록 가능하면 SQL한방으로 값을 찾아 낸다.

이렇게 한다면 콘트롤러가 길어지지 않겠쬬..
이건 제 개인적인 생각이지만 콘트롤러가 얼마나 간결한가가
또는 뷰가 얼마나 간결한가가
그 사람의 레벨정도로 생각이 들더라구요~

그리니 콘트롤러에선 흐름만...
자질구리한 처리들은 라이브러리로.....
뷰는 간결히 변수 하나만 찍어 값을 표현하고 그 값을 이쁘게 표현하는 정도로...

저의 개인적인 생각이였습니다.
/ 2012/12/24 13:58:39 / 추천 0
 헛발이//
답변 감사합니다.
요지는 소스를 줄이려면
1. 반복되는건 헬퍼나 라이브러리로 빼낸다.
2. 불필요한 프로그램을 짜지 않도록 sql을 짠다.
등이 되겠네요 ^^