Actually, I would say both blaming (a couple of years ago) and praising (right now) PHP are a matter of fashion and nothing more. PHP was and still is pretty simple and practical tool to use, but core developers were and still are making ridiculously stupid design choices which they generally think of as a "compromise" and which no other programming language designers I know of currently make. So, if you are looking for good design in a language — PHP is still a disaster, I assure you.
What actually changed for good is not the language itself (which has changed, but the quality is questionable anyway), but infrastructure. Now we have HHVM, Composer, better libraries (Sculpin being a nice example, by the way), FIG-standards. It's far from Node or Python in a sense of tools and libraries available, but significantly better than it was some 4 years ago. And deploying it is still much easier than Python, Ruby or Node, so that makes a reasonable choice overall.
PHP is like an unholy blend of Python and JavaScript with Perl syntax rules. If there's some feature you like in one of these languages, PHP probably has a slightly-confusing variant of it.
It has first-class function support (more-or-less), closures, classic OO, dynamic OO, reflection, namespaces, exceptions, auto-resolution of missing classes, generators, iterators, something like eval(), etc.
http://www.phptherightway.com is a good start. I would also look at the Symfony 2 framework and even try this as a learning resource: http://symfony.com/doc/current/create_framework/index.html