What is CodeIgniter? How Does PHP CI Framework Works?

What is CodeIgniter?

CodeIgniter is a PHP MVC framework used for developing web applications rapidly. CodeIgniter provides out of the box libraries for connecting to the database and performing various operations like sending emails, uploading files, managing sessions, etc.

CodeIgniter Features

Let’s see some of the features that make CodeIgniter great. The following list is not exhaustive but gives you an idea of what to expect when working with CodeIgniter.

Small footprint

The entire source code for CodeIgniter framework is close to 2MB. This makes it easy to master CodeIgniter and how it works. It also simplifies deploying and updating it.

Blazing fast

Users tend to favor applications that load very fast. If you have worked with some of the modern frameworks, then you will realize that they take less than one second to load just after installation. CodeIgniter, you can load on average around less than 50ms. The extra time spent optimizing like is the case in another framework is freed up when you are working with CodeIgniter framework.

Loosely coupled

The built-in features are designed to work independently without relying too much on other components. This makes it easy to maintain and make upgrades

MVC Architecture

The PHP CodeIgniter framework uses the Model-View-Controller architectural design. It is industry standard practices when working with web applications. MVC separates the data, business logic, and presentation.

Excellent documentation

The framework is well documented, and there are good books, tutorials and answered forum questions on CodeIgniter. This means whatever challenge that you have, chances are someone has already encountered the problem, solved it and the solution is out there for you.

Application specific built-in components

CodeIgniter has components for sending email, database management, session management and many more as you will discover as we continue with the tutorials.

Extendable

CodeIgniter comes with some libraries, and helpers out of the box. If what you want is not there or you would like to implement an existing feature your way. Then you can do so easily by creating your libraries, helpers, packages, etc. You can also create REST API in CodeIgniter.

Short learning curve

CodeIgniter is easy to master for anyone who is already familiar with PHP. Within a very short time, the student can Learn CodeIgniter and start developing professional applications using CodeIgniter.

How CodeIgniter Works?

CodeIgniter is an MVC framework. MVC stands for Model View Controller. When a user requests a resource, the controller responds first. The controller understands the user request then request the necessary data if necessary.

For example, if you want to retrieve a customer with the id= 3, the controller will receive your request, then request the CodeIgniter models to retrieve the record with the id of 3. The CodeIgniter models will return the record to the controller. The controller then forwards the result to the view which formats it into a human-readable format. Then the results are returned to the user in the browser.

The following image shows how CodeIgniter works:

CodeIgniter Works
How CodeIgniter works

CodeIgniter Release History

Year Version
2006 First version of CodeIgniter
2009 ExpressionEngine 2.0 launched
2014 British Columbia Institute of Technology took ownership of the project
2020 On February 24, CodeIgniter 4 was officially launched
2021 On September 6, 2021, CodeIgniter 4.1.4 was officially launched

Summary

  • CodeIgniter is a PHP framework for developing applications rapidly
  • The entire source code for CodeIgniter is close to 2MB. This makes it easy to master CodeIgniter and how it works
  • The built-in features of CodeIgniter are designed to work independently without relying too much on other components
  • The framework uses the Model-View-Controller architectural design
  • The framework is well documented, and they are good books, tutorials and answered forum questions on CodeIgniter
  • CodeIgniter comes with some libraries, and helpers users out of the box
  • CodeIgniter is easy to master for anyone who is already familiar with PHP
  • In CodeIgniter user requests a resource, the controller responds first. The controller understands the user request then request the necessary data if it is important
  • Codeigniter 4 was released On February 24, 2020, the birthday of Jim Parry, who was the project lead of Codeigniter 4 and died on January 15, 2020