For a framework developed in 2006, one would expect it to match its age, right? But the situation is warring for CodeIgniter. CodeIgniter is a powerful open-source PHP framework with a very small footprint, created by Rick Ellis and released by EllisLab on February 28, 2006. CodeIgniter is most often noted for its speed when compared to other PHP frameworks. The framework in August 2008 saw PHP's creator Rasmus Lerdorf, an outspoken critic of frameworks, praise it at frOSCon, noting that he liked CodeIgniter "because it is faster, lighter and the least like a framework."
In an environment now saturated with PHP frameworks, CodeIgniter was for a long time the only solid choice for a developer who lived in the real world of shared hosting accounts and clients with deadlines. CodeIgniter flew in the face of ponderously large and thoroughly undocumented frameworks. But unfortunately CodeIgniter's industry leadership was to be short lived. Focusing on Kenya, the web development trends using CodeIgniter have been on the decline from January 2012 to April 2014 as many CodeIgniter developers switched to other PHP frameworks like Laravel and FuelPHP.
This switch in interest among many developers in Kenya was due to the ever increasing rumors that CodeIgniter "was dead". I was among the developers who were uncertain about the future of the framework. The agonizingly slow releases of CodeIgniter were occasioned by the fact that EllisLab cited a lack of resources to give the framework the attention they felt it deserved. There were also other problems revolving around EllisLab's unresponsiveness to the CodeIgniter user communities' requests for new features and bug fixes for CodeIgniter, exasperated by their slow releases. A lot of things have been said and written about these problems and also about the decision to switch licensing to the Open Software License (OSL) which sparked some community controversy, especially about the GPL incompatibility of the new license.
Belief in CodeIgniter
While all these wrangles were going on, unfortunately, the effect was that more and more developers were leaving the framework for other frameworks that were being actively developed and re-written. I decided to hang on. I decided to have hope because despite all the wrangles that were going on, I believed in the product. I saw the potential of CodeIgniter as a framework and decided to give a deafening ear to all the negative things that were being said about the framework. Today, I am proud of my decision.
Sigh of Relief
In 2014, EllisLab decided to give a breath of life to the "dying" framework and on October 6, 2014, EllisLab announced that CodeIgniter would continue development under the stewardship of the British Columbia Institute of Technology. The decision came with mixed feelings. There are numerous advantages and disadvantages of having an institution of higher learning lead the development of the framework of which I can't exhaust. Most importantly however is the fact that CodeIgniter will continue to grow and thrive in the hands of this highly-esteemed education institution. Incorporated directly into their curriculum, BCIT has transformed CodeIgniter from being "just" a tool for PHP developers into a living lab, building the next generation of talented developers.
After the change of ownership, the first thing in BCIT's to do list was to urgently release version 3.0, which was long overdue and to address all the bug fixes in the previous versions and also implement new features. With CodeIgniter getting back to active development, there is a lot in store for developers to anticipate for. According to James Parry, CI Project Lead at BCIT, "EllisLab planned to release CodeIgniter 3 under the Open Software License 3 (OSL3). This was a good choice for them, recognizing and protecting their investment in CodeIgniter. In the long term, we see MIT licensing of CodeIgniter leading to broader consideration and adoption of the framework, and a revitalized developer involvement." With the version 3 of the framework released under the MIT license, the database drivers having been extensively refactored, PDO fully functional with sub drivers, a new Session library, a new Encryption library, unit testing beefed up, and code coverage improved, with PHP 5.4 or newer is recommended, (but CI will still work on PHP 5.2.4), developers have a lot to look forward for in the seemingly "resurrected" framework.
So, is CodeIgniter Right for You?
CodeIgniter is right for you if:
- You want a framework with a small footprint.
- You need exceptional performance.
- You need broad compatibility with standard hosting accounts that run a variety of PHP versions and configurations.
- You want a framework that requires nearly zero configuration.
- You want a framework that does not require you to use the command line.
- You want a framework that does not require you to adhere to restrictive coding rules.
- You are not interested in large-scale monolithic libraries like PEAR.
- You do not want to be forced to learn a templating language (although a template parser is optionally available if you desire one).
- You eschew complexity, favoring simple solutions.
- You need clear, thorough documentation.