In a new post to his blog, Jacob Santos talks about why object oriented programming just "isn't easy" - including a few of his dislikes about OOP in PHP.
Functional developers have it easy. Damn straight and I wonder why so many developers choose to write functions, when they can opt for more beautiful classes instead. [...] It is easy to get functions right, all you have to do is prefix them and name them properly and you're done.
He notes that most people get OOP up to a certain point - that being the "has-a" and "is-a" relationships - where things start flying over their heads. He expresses his dislike of the way that Singletons are used (or not used) and places some of the blame on the tutorial and book authors out there trying to teach novice programmers with analogies that don't make sense in a codign situation.