CI 묻고 답하기

제목 궁금한 게 있어서요.
카테고리 CI 2, 3
글쓴이 붕어빵 작성시각 2024/09/04 15:33:21
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 2171   RSS

안녕하세요, ci3로 작업하다가 궁금한 점이 있어서요.

컨트롤러, 모델 이렇게 쌍으로 작업을 하니 아주 작은 차이가 있는 경우에도 모델에서 따로 메소드를 만들어야 해서 여간 번거로운 게 아니더라구요.

저 같은 경우엔 지금도 컨트롤러단은 아래처럼 해서 모델로 넘기고

$data = array('title' => 'test', 'name' => 'test');

$write = $this->test->write('board', $data);

모델단에서는 아래처럼 그냥 한 줄 달랑 처리하고 끝나는 경우도 종종 있거든요.

public function write($board, $data) {

  $this->db->insert($board, $data);

}

 

궁금한 게 crud 모델 파일 하나 만들어서 이걸 컨트롤러단에서 호출해서 아래처럼 써도 괜찮을까요?

$get_data = $this->crud->read('boad', array('title' => 'bar', 'name' => 'test'));

디비 관련된 작업은 모델에서 하는 게 좋다고(?) 해서요.

 다음글 신규 서버에 CI2설치 후 504 gateway tim... (2)
 이전글 서버접속이 불가할때 점검 띄우는 방법 문의드립니다. (4)

댓글

변종원(웅파) / 2024/09/04 16:54:03 / 추천 0
공통모델로 만드셔서 각 컨트롤러에서 호출해서 쓰면 됩니다. 작업 처음부터 그렇게 구조작업해서 할 수도 있고 리팩토링 차원에서 정리하기도 합니다
붕어빵 / 2024/09/04 18:35:05 / 추천 0

변종원(웅파) //

컨트롤러에서 아래처럼 해도 괜찮다는 말씀이시죠?

$data = array('title' => 'test', 'name' => '홍길동');

$this->database_model->insert('table_name', $data);

각각 컨트롤러단에 맞춰서 짧게는 한두 줄인데도 모델단에 메소드를 만들어서 넣었거든요.

평범한(?) 쿼리만 날리는 건 그냥 디비 입출력 관련된 모델 하나 만들어서 그걸 호출해서 써야겠습니다.

mvc에서 c에 위배(?)되는 거라 생각해서 안 썼고 궁금했는데 답변 너무 감사합니다.

kaido / 2024/09/05 16:10:05 / 추천 0

어떤 고민인지 알것같습니다. 

내가 하는 행동이 정말 근본(?)이 있는 것인지 아닌지를 좀 더 확실하게 이론적으로 접근 하고 싶으시면 디자인 패턴을 한번 공부해 보시면 좋습니다.

사실 디자인패턴이라고 하면 뭔가 상위에 어려운 이야기인것 같지만 사실은 전 세계 모든 개발자들이 공통적으로 하는 고민 거민거리나 개발한 형태를 정리한게 디자인패턴 입니다.

CI는 그중에서 MVC 패턴에 흡사한 형태를 사용한것 이구요.

붕어빵 / 2024/09/12 14:14:28 / 추천 0

kaido //

맞습니다. 언젠가 공부해 보려고 사둔 디자인 패턴 책이 있긴 한데 드디어 꺼내서 볼 때가 되었나 봅니다.

답변 너무 감사합니다.