Oh come on, it's much better than it used to be. We even got (better) namespaces in 5.3. I've got my fingers crossed for 6.
It's not necessarily a bad thing that it's OO constructs are limited. Perl's Object Oriented constructs are sort of stapled on too, and it shows. PHP isn't 'supposed' to be an Object Oriented Language, and it's pretty much impossible to add coherent Object Oriented constructs while maintaining backward compatibility, and when you do the entire language becomes confusing and unwieldy (case and point: C++).
The problem seems to be that different sections are written using a different "structure" or standard; some libraries are called in a C-like fashion, returning some sort of error code; others return some important object or null; etc. There is no "PHP Style" as there is for most languages; this shows because even the standard library has a lot of inconsistencies
I'm not really sure how it got popular, I guess it was just in the right place in the right time. It was the first language, to my knowledge, that was designed (a more appropriate word might be "grew") around the server-side. It's pretty much the "default" web language.
On the bright side, frameworks such as the one you mentioned can at least insulate you from some of the language's idiosynchrasies. I use PHP on my webhost, even though my host supports Python, as well, because at the time I started it I knew a bit of PHP but pretty much no Python.
It get's the job done, it's just awfully messy at it (though again I imagine various frameworks help with that too)