모델 뷰 컨트롤러 Model-View-Controller
CodeIgniter는 모델-뷰-컨트롤러(MVC) 개발 패턴에 기반합니다. MVC는 프로그램의 로직을 프리젠테이션(표현부분)로부터 분리하는 소프트웨어 접근 방법론 입니다. 실재로, 이것은 여러분의 웹페이지에 최소한의 스크립트만 들어가도록 해 줍니다.
- Model 은 데이터구조를 표현합니다. 일반적으로 모델 클래스는 데이터를 추출,입력,갱신하는등의 함수를 포함하게 됩니다.
- View 는 사용자에게 보여질 부분을 표현합니다. 뷰(View)는 일반적으로 웹페이지만,CodeIgniter 에서는 뷰가 헤더나 푸터처럼 웹페이지의 조각일 수도 있습니다. 또한 RSS 페이지나, 혹은 다른 페이지 형태의 것일 수 있습니다.
- Controller 는 일반적으로 모델과 뷰(혹은 HTTP 요청을 처리하여 웹페이지를 생성하는 어떤 것)사이에서 동작합니다.
CodeIgniter는 모델이 필요없도록 MVC를 매우 느슨하게 접근하였습니다. 만약 모델을 분리할 필요가 없거나, 모델을 따로 분리하는것이 쓸데없이 복잡도를 증가시킨다면, 컨트롤러와 뷰 파일만으로 프로그램을 만드실 수 있습니다. CodeIgniter는 여러분이 이미 가지고 있는 스크립트를 연동해서 사용하거나, 여러분의 기호에 맞게 시스템 코어라이브러리를 개발하여 쓸수도 있도록 했습니다.