It is a powerful open-source web development framework for building dynamic websites in PHP and is loosely based on MVC (model-view-controller) architecture but can also be modified in order to use Hierarchical-model-view-controller that allows web developers maintain modular grouping of the controller while arranging models and views in a sub directory format. In CodeIgniter, controller classes are necessary but the models and the views are optional. This particular framework stands out for its speed and is also lightweight.
Reasons to use CodeIgniter
1. Easy to extend and understand. CodeIgniter is easy to setup and start running. Its also very easy to change the behavior of the existing libraries, create new libraries and to change the overall behavior of the framework.
2. All tools a developer needs are presented in a single small package. Some of the inbuilt libraries that come along with this framework include, the calendar, zip encoding, sessions, uploading, unit testing and email. The framework also includes several default helpers like file handling, forms, arrays, cookies and more. In addition to that, a developer has the ability to create their own custom libraries and helpers.
3. MVC architecture. Nowadays most large and scale-able applications are developed using the MVC architecture which ensures good code separation and helps keep things clean. It is also very easy to manage the project using this framework since the logic part of the project is separated from the actual views and models.
4. No installation required. CodeIgniter does not require any server modifications in order to get the framework up , a developer just needs to upload files to the server and kick off testing and developing. This is of much help to most of the people who are not big fans of the Unix command line.
5. Little or no server requirements. This framework can work on with both PHP4 and PHP5 and makes it easy to develop seamlessly between the two environments.
6. Database abstraction. Like other modern frameworks, CodeIgniter enables one to create inserting, updating and deleting statements without the need to write SQL statements. It has the ability to handle multiple databases within a single application and can connect to most major databases out there such as MySQL, MySQLi, Oracle, SQLite, ODBC, PostgreSQL and MS SQL. It enables developers to manipulate the databases using it’s database forge library.
7. Presence large active community. CodeIgniter forums have over 60,000 registered members and is always active in case one has a problem and needs quick and free help. Without any confusing chat channels and mailing lists on their website, one can receive quick answer to the question posted.
8. Excellent documentation. CodeIgniter’s documentation is by far much better than any other frameworks largely because it developed by a company and not a community.
9. Inbuilt security tools. It allows developers to implement security measures as required in an app. Upsetting of all global variables is done by default such that a developer doesn’t need to remove slashes while retrieving data from the database. Cookie encryption, session data handling and automatic SQL queries escaping can be enabled within the framework.