코드이그나이터 | 모델-뷰-컨트롤러

코드이그나이터 | 모델-뷰-컨트롤러

Model

데이터베이스와 연동하여 사용하기 위한 PHP클래스

1 | CI 데이터베이스 설정

Application/config/database.php

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 $db['default'] = array( 'dsn' => '', 'hostname'=> '127.0.0.1', 'username'=> 'root', 'password'=> 'candydb!', 'database'=> 'candyfalling', 'dbdriver'=> 'mysqli', 'dbprefix'=> '', 'pconnect'=> FALSE, 'db_debug'=> (ENVIRONMENT !== 'production'), 'cache_on'=> FALSE, 'cachedir'=> '', 'char_set'=> 'utf8', 'dbcollat'=> 'utf8_general_ci', 'swap_pre'=> '', 'encrypt'=> FALSE, 'compress'=> FALSE, 'stricton'=> FALSE, 'failover'=> array(), 'save_queries'=> TRUE ); Colored by Color Scripter cs

2 | 데이터베이스 라이브러리 로드

application/config/autoload.php 파일 $autoload['libraries]배열에 database 추가

controller 내에서 $this->load->database() 호출

3 | 모델 파일 생성

Application/models 디렉토리 아래 모델명_model.php형식으로 파일 생성

CI_Model 상속. 첫 글자는 대문자

4 | 모델 로드

Model를 이용해 데이터를 조작하는 로직을 메소드로 정의. 메소드는 Controller를 통해서 사용

모델 로드 : $this->load->model('모델파일이름')

모델 호출 : $this->test_model->gets();

View

1 | 개념

개념 : 사용자들이 볼 수 있는 영역. 화면 출력

위치 : application/views

방식 : 주로 Html

2 | 호출

절대로 직접 호출되지 않고 Controller를 통해 호출

$this->load->view("파일명")

Controller

1 | 컨트롤러

URL과 상호 작용하는 클래스 파일

컨트롤러와 URL 맵핑

2 | 클래스 생성자

parent::_construct(); // 부모 controller를 수동으로 호출

3 | 함수 호출

같은 컨트롤러 : $this->함수명

from http://sanctacrux.tistory.com/1027 by ccl(A) rewrite - 2021-01-05 18:00:07