Codeigniter Introduction
When CodeIgniter born?

CodeIgniter is a powerful open-source PHP framework develop in 2006, created by Rick Ellis in 2006.

In 2014, EllisLab granted ownership of CodeIgniter to the British Columbia Institute of Technology.

What is CodeIgniter

CodeIgniter is an application development framework, which can be used to develop websites. It is an Open Source framework. It is based on MVC(Model-View-Controller) Model


Models are PHP classes, Generally Model classes will contain functions that help you retrieve, insert, and update information in your database. Developer create model class inside application->models folder and load this in controller and call from controller.

Views, In application->views folder we html webpage that display on website.

Controller serves as an intermediary between the Model and Views. We can run only controller , we access model and view from controller, we can not run model and view directly. for this purpose we create controller in controller

Note : When we use first time codeigniter than by default welcome controller already created and welcome_message page already created in views folder.

Feature of CodeIgniter

1-   Model-View-Controller Based System that provide security

2-   Light Weight Code

3-   Full Featured database classes with support for several platforms.

4-   Some In Built Feature like Form and Data Validation, Email Sending Class with Attachments, Image Manipulation Library (cropping, resizing, rotating, etc.), Pagination,Calendaring Class, Cart class many more.

5-   Search-engine Friendly URLs

Application Flow Chart


The index.php serves as the front controller, initializing the base resources needed to run CodeIgniter.

The Router examines the HTTP request to determine what should be done with it.

If a cache file exists, it is sent directly to the browser, bypassing the normal system execution.

Security. Before the application controller is loaded, the HTTP request and any user submitted data is filtered for security.

The Controller loads the model, core libraries, helpers, and any other resources needed to process the specific request.

The finalized View is rendered then sent to the web browser to be seen. If caching is enabled, the view is cached first so that on subsequent requests it can be served.