Model-View-Controller
O Code Igniter é baseado no padrão de desenvolvimento Model-View-Controller. A MVC é uma abordagem de software que separa a lógica da aplicação de sua apresentação. Em prática, ela permite que suas páginas web contenham o mínimo de scripts já que a apresentação é separa do código PHP.
- O Model representa suas estruturas de dados. Tipicamente, suas classes model irão conter funções que lhe ajudarão a buscar, inserir e substituir informações em sua bando de dados..
- A View é a informação que será apresentada ao usuário. A View será normalmente uma página web, mas no Code Igniter, uma view pode ser também um fragmento de página como um cabeçalho ou rodapé. Ela pode ser também uma página RSS, ou qualquer outro tipo de "página".
- O Controller serve como um intermediário entre o Model, a View, e qualquer outro recurso necessário para processar a requisição HTTP e gerar a página web.
O Code Igniter tem uma abordagem mais solta em relação ao MVC, já que Models não são obrigatórios. Se você não precisa desta facilidade, ou acha que manter models gerará mais complexidade que você quer, pode ignorá-las e construir sua aplicação apenas usando Controllers e Views. Code Igniter também proporciona que você incorpore seus próprios scripts, ou mesmo desenvolva bibliotecas para o sistema, lhe possibilitando trabalhar de um jeito que faça mais sentido para você.