I love Codeigniter!
I actually have to disagree Overras. In my opinion, PHP is an utter mess due to its inception as one of the earliest web development-oriented platforms. It came into the web while Javascript was considered a toy for geeky web designers to add snow falling effects on their pages lol. Also, no one really found any fault with mixing HTML and PHP at the time, even though they were regularly suffering through website redesigns each time their client needed something changed as they tried to piece together where and how all of the HTML is made. And now with Javascript chugging along on pretty much every website, you could literally be coding in 3 languages at the same time: HTML, PHP and Javascript. I know I did before finally accepting more structure, and my code was a mess because of it.
While "Separation of Concerns" is kind of a buzz word today, the software development world as a whole has pretty much uniformly accepted it to be the best way to do large, complex software development. I don't always agree with how far people are taking it, such as the deep, heavy MVC/MVVM frameworks for client-side Javascript lol. But when you have a huge, complex web application and you have to update something, you will love yourself for having all the major technologies separated into their own sections that interact in a meaningful and coherent way. HTML templates or layouts are in one place, the PHP behavior is in another, as well as your data being segregated and accessed cleanly and CSS in external files like it always has been. It really does make development easier.
I think the issue of people using frameworks but not understanding the language itself is more valid for things such as jQuery and Ruby on Rails. They have become so huge and common that people go straight for learning the framework and can't be bothered to learn the underlying language, causing severe problems since the framework
is still the language! But I have not seen a ton of devs using CI or another PHP framework without knowing how to work with PHP. Granted, I have seen a few, but it is nowhere near as prevalent as with these other 2 (which I see those kinds of devs
all the time).
