CI 묻고 답하기

제목 모델 로딩질문? (초삥)
글쓴이 ANS 작성시각 2012/10/31 15:34:50
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 16695   RSS
controllers 에서 모델까지 처리했는데
아무래도 개발이 커지다 보면 분리하는게 좋을 듯 해서 모델을 분리하려고 만지작 거리고 있습니다.

근데 궁금한 사항이 있네요.
어찌하다보니 1.7.2 버전으로 공부하는 관계로 구버전 기준으로 답변좀 부탁드리겠습니다.

------------ controllers ----------------
class Blog extends Controller{
 function Blog(){
  parent::Controller();
  $this->load->model('blog/comment_model');
  $this->comment = new comment_model();
 }
 function comment_insert(){
  $this->comment->insert();
 // $this->Comment_model->insert();
 }
}


------------ model ----------------
class Comment_model extends Model {
 function Comment_model(){
  parent::Model();
 }
 function insert(){
  $query=array(
   'name' => $this->input->post('name'),
   'title' => $this->input->post('title'),
   'comment' => $this->input->post('comment')
   );
  $this->db->insert('comments',$query);  
 }
}

* controllers 부분에서만 질문 있습니다.
첨에 빨간라인 없이 파란라인만 넣고 실행했습니다.
모델을 $this->load 해주면 코어쪽에서 알아서 객체 생성시킨다고 생각했는데
객체를 못찾더라구요.. 

어쩔 수 없이 생성자쪽에 객체생성을 따로 해 줬습니다. (빨간라인)
여러개의 모델을 로드 한다면 저렇게 해당 객체를 모두 생성해야 하는지 아니면 코어쪽에서 쉽게 처리해 주는 기능이 있는지 궁금하네요..
개발자가 해주는게 직관적이고 메모리누수도 줄일 수 있어 더 좋다고 생각이 들기는 하지만 CI쪽에서 처리하는게 있다면 그렇게 하는게 정석인지라 물어봅니다..
 다음글 url $route 를 사용하려고하는데요 (5)
 이전글 join 문 질문좀요... (3)

댓글

변종원(웅파) / 2012/10/31 16:18:25 / 추천 0
매뉴얼 다시 한번 잘 읽어보세요. 

모델 로딩을 하고 어떻게 사용하는지....

 // $this->Comment_model->insert();   당연히 에러납니다.


$this->comment_model->insert(); 차이점 보이세요?

ANS / 2012/10/31 17:54:10 / 추천 0
//웅파
답변 감사합니다..

물론 매뉴얼은 몇번이나 봤으나
파일은 소문자로 해야 된다는 얘기만 있을뿐.. ㅜㅜ;


예문에서도 대문자로 보여 주고... 


번역 예문

http://codeigniter-kr.org/user_guide172/general/models.html




-------------------------------------------------------------------------

class Model_name extends Model {

function Model_name()
{
parent::Model();
}
}



---------- 모델 로드하기 예문 ----------------


$this->load->model('Model_name');

$this->Model_name->function();

변종원(웅파) / 2012/10/31 19:11:50 / 추천 0
매뉴얼의 Model_name은 모델명을 지칭하는 명사 비슷하게 사용됐습니다.
첫글자를 대문자로 하라는 의미는 아닙니다. ^^;

파일명 및 로딩 소문자
모델 클래스 선언 및 생성자에서 첫글자만 대문자

컨트롤러도 마찬가지입니다.
지훈임돠 / 2012/11/01 10:00:09 / 추천 0
 ㅎㅎㅎ