CI 묻고 답하기

제목 뷰에 모델이나 컨트롤러에 쓰이는 함수쓸 수 있나요??
글쓴이 Jeremy 작성시각 2011/03/19 15:09:18
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 24003   RSS
안녕하세요 이제 갓 입문한 초보 입니다. 뷰에서 모델이나 컨트롤러에서 쓰이는 CI 함수들을 쓸 수 있나요?? 예를 들면 force_download() 같은 것들이요.. 제가 실행해봤을땐 이함수들이 정의 되지 않았다고 안되더라구요. 혹시 아무함수라도 예제를 들어주실 수 있습니까?? 감사합니다.
 다음글 Encrypt 객체 관련 의문점 (4)
 이전글 Fatal error: Call to undefined... (4)

댓글

헛발이 / 2011/03/19 15:38:41 / 추천 0
초보자가 초보자의 마음을 잘 안다고.. 저도 초보자 입니다. ㅋ
아마도 날코딩할때 처럼 자유롭게 잘 안되죠.. 하지만 금방 적응되실거에요..

추측을 해보면 아마도 함수호출형식이 틀렸을거 같은데요..
예를들어 같은 콘트롤러에서 함수를 호출 할때는..다음과 같이 합니다..

class Test extends CI_Controller
{
    function index() {
        $this->abc();
    }

    function abc() {
        echo 'test';
    }
}
이렇게 $this->test(); 라고 호출해야 찾아 갑니다..

그런데 뷰에서 호출 하려는거 보니 정확한지는 잘 모르지만..
콘트롤러에서 사용되는 함수는 실제 함수라기 보다는 메소드라고 해야 할거에요...

즉 뷰에서 콘트롤러의 함수를 호출 한다는 의미는 페이지의 이동(콘트롤러의 메소드 호출)을 의미 하기 때문에 간단한 기능을 하는 함수라면 콘트롤러에 적어 두시고 사용하는것이 아니고 라이브러리나 핼퍼 등에 간단한 기능을 하는 함수를 만들어 놓고 호출하시면서 사용해야 합니다..

모델, 라이브러리, 핼퍼에서 만들어 있는 함수들은 콘트롤러에서 해당 모델, 라이브러리, 핼퍼를 로딩 한 후에 후출 할 수 있습니다. 즉 바로 호출은 안되고 로딩한 후에 호출 해야 해요...

codeigniter-kr.org/user_guide/general/models.html#loading

위의 링크는 모델을 로딩 하는 메뉴얼입니다.
일단 메뉴얼을 좀 보셔야 할듯 싶어요... ^^