CodeIgniter se basa en Model-View-Controller (MVC) development pattern. MVC es un enfoque de software que separa la lógica de la aplicación de la presentación. En la práctica, permite que sus páginas web contengan un mínimo de secuencias de comandos, ya que la presentación es independiente de las secuencias de comandos PHP.
los Modelrepresenta sus estructuras de datos. Normalmente, las clases de su modelo contendrán funciones que le ayudarán a recuperar, insertar y actualizar información en su base de datos.
los Viewes información que se le presenta a un usuario. Una vista normalmente será una página web, pero en CodeIgniter, una vista también puede ser un fragmento de página como un encabezado o pie de página. También puede ser una página RSS o cualquier otro tipo de “página”.
los Controller sirve como intermediario entre el modelo, la vista y cualquier otro recurso necesario para procesar la solicitud HTTP y generar una página web.