CodeIgniter
CodeIgniter is an application development framework, which can be used to develop websites, using PHP. It is an Open Source framework. It has a very rich set of functionality, which will increase the speed of website development work.
If you know PHP well, then CodeIgniter will make your task easier. It has a very rich set of libraries and helpers. By using CodeIgniter, you will save a lot of time, if you are developing a website from scratch. Not only that, a website built in CodeIgniter is secure too, as it has the ability to prevent various attacks that take place through websites.
Some of the important features of CodeIgniter are listed below:
- Model-View-Controller Based System
- Extremely Light Weight
- Session Management
- Email Sending Class. Supports Attachments, HTML/Text email, multiple protocols (sendmail, SMTP, and Mail) and more
- Image Manipulation Library (cropping, resizing, rotating, etc.).
Application Architecture
The architecture of CodeIgniter application is shown below.

Directory Structure
The image given below shows the directory structure of the CodeIgniter.

Basic Concepts
1.Controller
A controller is a simple class file. As the name suggests, it controls the whole application by URI.
Controller
A controller is a simple class file. As the name suggests, it controls the whole application by URI.
Views
This can be a simple or complex webpage, which can be called by the controller. The webpage may contain header, footer, sidebar etc. View cannot be called directly.
Models
Models classes are designed to work with information in the database. As an example, if you are using CodeIgniter to manage users in your application then you must have model class, which contains functions to insert, delete, update and retrieve your users’ data.