TL;DR;
This is my first post, been using CI for some years and this is my thoughts about the benefits of this framework that shares many of what the author descriptions.
I've seen a good share of Frameworks Vs Frameworks... I've been using Codeigniter for about 4 years now... tested many frameworks, but as the author said... CI is FAST and SIMPLE, whatever project you have, CI can and will adapt, as long as you know what to add.
Laravel is as the author said: "Big, fat, hungry beast" and every update they incorporate another library into their core... that's insane, I'm all about performance, simplicity, I think twice before adding a plugin/library of any kind, having a framework that have tons of things that I could use might sound as a good idea, but it will end up using very little of those things that will eat your server processing power, also will result in a very large learning curve (CI learning curve is about the framework concepts, Laravel you'll learn Laravel+ORM+Carbon+[list of plugins build on]) or if you're in a hurry, you just download another library that does the same thing.
I'm recently migrating my company products to Azure Cloud, we have projects built on:
- Pure PHP, self developed framework (5 projects)
- Codeigniter (8 projects)
- Tried to port some of our products to laravel due to it's overall complexity (failed, we are porting them to CI instead)
The key thing here is: COST, it's always about the COST, Azure will charge you for Bandwidth, Database, CPU and the list goes on, how did CodeIgniter helped us?
1 - our Self developed framework was built when php 5 came out, it's totally obsolete and incompatible with php7, to load a single routine it opens up to 130 requests and about 3s load time
2 - ported a similar product to codeigniter and now we have an average of 20 requests on the first run only and less then 1s load time.
3 - ported some wordpress websites to codeigniter, the load time was reduced by 80-95% in some cases.
Just the fact that we use CodeIgniter we are lowering our costs with server, i dare say that we have a reduction of 50-60% in web servers.
Why CodeIgniter rocks:
The framework gives the basics that your need in EVERY project, and some usefull helpers.
It does not try to code for you, it makes easy for YOU to code.
It does not enforce to it's pattern.
It gives freedom of choice.
How to make the most out of CodeIgniter?
Planning, study what you need and as the core of CodeIgniter does, load/use only what you need, and only what's needed in a particular context.
If you don't know what you need, what you will be needing and doesn't know what packages you need to do something that's not present on your framework Core, whatever it might be, then CodeIgniter is not for you.
What CI is good for:
- Websites / blogs / portfolios
- APIs
- Small/Medium projects
- Larger projects WITH planning
Additional note: CodeIgniter is simple, easy to learn, even for PHP starters, if you dig deeper into CI concepts and on pure PHP you'll be able to extend CI to any projects.