Specific Criticism of CodeIgniter as a PHP Framework in 2014

As a long time CodeIgniter user, I made the decision to move away from CodeIgniter a while back. I still maintain, and in some cases develop new features for websites that I made using CodeIgniter.

Still somewhat active in the CodeIgniter forum, I have seen a recent question, "How do we get CodeIgniter back to the PHP framework of choice?". I have offered my own criticism of the framework, but the thread is located on the CodeIgniter forum, so many just protect their beloved CI, not willing to accept that it is in great need of change.

I would appreciate if phpfreaks members would be critical, and hopefully specific in regards to CodeIgniter's problems. I intend to link to this thread, with the hopes that your opinions will help future development of CodeIgniter. Thank you.

I'm not sure how many valid opinions you're going to get around here. I for one have never and would have never even considered using CI. As far as I am concerned the project can't die soon enough.

I understand it was popular amongst a certain crowd of developers, and I understand that for a lot of instances it has filled a need. I also believe however that overall it has probably done more harm than good to the php landscape.

An "Abomination" is the latest term I've been using to describe it. The sooner it is gone, the better IMO.

I'm not sure how many valid opinions you're going to get around here. I for one have never and would have never even considered using CI. As far as I am concerned the project can't die soon enough.I understand it was popular amongst a certain crowd of developers, and I understand that for a lot of instances it has filled a need. I also believe however that overall it has probably done more harm than good to the php landscape.An "Abomination" is the latest term I've been using to describe it. The sooner it is gone, the better IMO.

Can you be specific regarding why you had never or would never consider using CI? How and why was that decision made?

What kind of developer uses CI, and how is that different than you? Also, in what way do you think CI has done harm to the php landscape?

I'm looking for specific facts regarding CI's deficiencies, problems, etc. Could it be that it's just popular to hate CI?

You mentioned that CI may fill a need for some developers. Can you elaborate?

Can you be specific regarding why you had never or would never consider using CI?

Not really, it was a long time ago and I have never given it a second look.

The first thing I remember though was simply it's coding standards, its ugly, I remember that. I also remember it going against a lot of the design principles I had learnt through working with Python. God like "core" objects, static methods scattered throughout, zero testing and an Active Record based ORM. Better frameworks already existed for PHP at the time, Codeignitor was not doing anything ground breaking or improving on this.

How and why was that decision made?

See above.

What kind of developer uses CI, and how is that different than you?

People with little experience with OOP and good design principles

Also, in what way do you think CI has done harm to the php landscape?

Because it has since taught a lot of its users bad design. You can still see some of these tendencies in other popular frameworks. A lot of CI people have been drawn to Laravel for instance because they see the Facades as providing them with the same Static interface they've grown to love (all be it a lot better implemented under the hood).

I've never liked CI. Those that use it may be in a bit of a bubble but it's always been that way from my view.

You mentioned that CI may fill a need for some developers. Can you elaborate?

I understand that people who can simply ignore the bad design or people who are blissfully unaware of it "can get shit done". Much like how a lot of people can "get shit done" with platforms such as Wordpress. Truth be known, there is a lot of bad PHP code around that enables people to "get shit done", still, this doesn't change the fact that it is crap code.