Why is CodeIgniter thought to be good?

In our blog we’ve been talking a lot about best PHP frameworks, and many of them in particular: Yii, Symfony, Kohana. There are still lots of them, for sure, but today I’m going to focus on one of the most long-living and simplest ones – CodeIgniter or simply put-CI.

A piece of dry facts about CodeIgniter:

CodeIgniter is an open source rapid development web application framework, for use in building dynamic web sites with PHP. The first public version of CodeIgniter was released on February 28, 2006, and the latest stable version 2.1.3 was released October 8, 2012.

The two things that immediately strike the eye here are simplicity and a huge community. But the one important thing here to remember: if you’ve still decided to develop a big and complicated application on CodeIgniter, you will not be able to find lots of things to implement the needed functionality. Thus, we have defined the main CI’s advantage-its simplicity.

At the same time besides simplicity there’re observed lots of other advantages. Have a look at them below.

CI possibilities:

1. Simple to learn. If to compare CodeIgniter with alternative solutions, it is safe to say it’s the simplest one. Besides well-thought project architecture, developers didn’t dabble and provided perfect documentation. Really, CI’s documentation is detailed, well-structured and is updated operatively.

2. Security. Problems in the security system are inherent to every web-project, though with CI many of them are solved automatically. For instance, there is a special function for accurate filtering the received data for XSS, which allows not only deleting dangerous data but saving them into log. This is very convenient.

3. Extendability. CI is a very flexible and extendable framework. It’s a piece of cake to make the framework do new things. You just need to plug in a required helper/library/plugin and to rejoice the new functionality.

4. Rich possibilities. Together with CI there are delivered libraries, plugins, helpers that allow solving the tasks right away without reinventing the wheel. You don’t have to dig the code, it’s enough to use a special mechanism that will let you “rehabilitate” CI.

5. Active Record. In CI there is used a modified version of the pattern Active Record Database. With the help of Active record work with the database turns into a pure pleasure. You don’t have to write the endless “SELECT” for choosing the data, it’s enough to use the class’s methods which is only two small lines of code. Besides a simplified access to a DB, this class allows to forget about used DBMS. You can build an application using MySQL, and then launch it easily on Oracle. Moreover, AR allows (though a bit) to secure work with DBMS, as while framing queries all values are shielding.

6. High productivity. Such big possibilities haven’t influence CI’s productivity. It works really fast. Such high-speed performance is achieved because of a very “light” core. All additional libraries are plugged in only when needed.

7. MVC architecture. CI uses MVC (Model-View-Controller) architecture that allows separating logics from the image. While working in the team (programmers+designers), such approach will be in a high demand.

8. Support of a template system. Although using template system is not compulsory in CI, it is still can be used if you’d like to.

9. Search engines friendly. Due to its URLs, CodeIgniter is super friendly to search engines and is subject to indexation.

I believe the other PHP frameworks reviews are on their way. In the meantime, if I’ve missed something in the list, feel free to comment!