PHP is like that kid in school who got everything right but everyone hated. I'll be honest, I love PHP. I love it as much as I love Ruby, Python and any other
language. For some reason communities have sort of ganged up on PHP and beat it to a pulp. The funny thing is, PHP, for the most part, outperforms them all in real world memory usage. Of course, that's probably because PHP is a
language and Rails, Django and such are
frameworks. PHP was built for the web, and as such it does a good job serving up web content.
The problem is that uneducated neophyte developers are polluting the tutorial scene and elitist, higher level language developers are shutting them down. Why aren't we helping these people progress? Why are they hitting a glass ceiling of knowledge?
I know, I was one of them. I worked at a small PHP shop and the attitude was "make it work, ask questions later". We got the job done. It worked, and the customers didn't notice a thing wrong with it. The problem was that I stopped learning. There was nothing more to learn about PHP. Why? Because it was a language. It's finite.
I've seen numerous posts about how horrible PHP is, but really, is it? It's a language. PHP, unlike a framework, is what you make of it. There are no standards, no methodologies, no guidance. That's what PHP needs -- a framework. Just as Ruby and Python after it needed a framework. Not because it makes you a better programmer, but because it allows others to understand, maintain and manage your code. The language you use doesn't make you a better or worse developer, it's how you use it.
Tools are tools. Skill are skills. I think the biggest mistake we make is mistaking tools for skill. Some of the greatest programmers I know write ColdFusion and PHP, and some of the worst I know write Ruby and Python (and yes, PHP).