개발 Q&A

제목 CI 프로그램 설계에 대한 궁금증..
글쓴이 미쉘 작성시각 2014/01/06 18:04:42
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 14464   RSS
 안녕하세요..
CI로 프로젝트를 진행중에 있는데..
설계부분에 대해서 궁금한 점이 있어 이렇게 글을 씁니다.

예를들어, 게시판을 만든다고 했을때..
게시판, 파일첨부, 코멘트 등등으로 컨트롤러를 나눠서 만들려고 합니다.
그런데..
게시판에서 글쓰기에 관한건 게시판 컨트롤러에 있고,
파일 업로드는 파일첨부 컨트롤러에 있을때..
이 두가지 클래스가 동시에 작동하게 하려니, 고민이 되네요...

게시판 컨트롤러에서 파일첨부 컨트롤러를 사용할수 있는 방법이 있나여?
(라이브러리를 사용하지 않는다는가정입니다. 라이브러리에서 DB를 건들기 싫어서입니다.)

쉽게 말해서

* 게시판 컨트롤러
class Board extends CI_Controller {
  function _insert()
  {
    //인서트
    if ( 인서트 완료 )
    {
      //파일업로드 처리
    }
  }
}

* 파일첨부 컨트롤러
class Attach extends CI_Controller {
  function _upload()
  {
    // 파일업로드 처리
    // 파일 디비 처리    
  }
}


이렇게 두개의 컨트롤러가 있을때.. Board->insert 에서 Attach->upload 를 호출하고 싶은데...
방법이 있나여?


 다음글 PHP 시간 계산 질문입니다. (3)
 이전글 for문 돌리는데 질문하나 드릴께요. (1)

댓글

한대승(불의회상) / 2014/01/06 19:00:53 / 추천 0
attch 컨트롤러를 board컨트롤러에서 상속 받는 방법이 있습니다만.....

고민을 많이 해 보셔야 할 겁니다.

 
변종원(웅파) / 2014/01/07 00:06:10 / 추천 0
라이브러리로 쓰시고 라이브러리에서 모델 호출해서 쓰세요.

굳이 컨트롤러까지 만들 필요가 있을까 싶습니다.
미쉘 / 2014/01/07 00:33:27 / 추천 0
두분 답변 감사합니다 어떻게든 만들수 있겠지만 설계적인 고민이라 ㅎㅎㅎ 깔끔하고 직관적이고 재활용성이 높게 만들려니 CI가 제약적인 부분이 좀 있는듯 싶네여 라이브러리는 말그대로 라이브러리로만 쓰려고 하는데 라이브러리가 지저분해질수밖에 없을듯하고 ㅎㅎㅎㅎㅎ
박세 / 2014/01/13 15:39:35 / 추천 0
 저 생각엔 업로드부분과 디비처리는 컨트롤부분보다 모델부분으로 옮겨서 처리하는게 좋을거같은데요?