I've been working for more than 9 years with PHP and pretty much have seen it all. From cheap quality boilerplate code hell, to really well designed code.
The main problem with PHP is that it's lack of features sometimes forced you into using bad practices. See for example the lack of namespaces/packages way over the time every other language had an implementation for that. This is solved for now, but there is a lot of legacy code that is still out there and making other programmers pull their hair.
Nowadays PHP has evolved, and frameworks have started using the new features in an elegant and powerful way. Some of the criticisms to PHP are still valid, other don't apply anymore. I for one think that PHP has get enough good features to ditch the "you're bound to write shitty code if you use PHP" motto. There are better languages, yes! I use them and I like them, but that's not a good reason for believing that using x language makes you a shitty developer and using y language makes you a good developer. Still... some languages might make it harder to write good code, and that's why you have to be wary and consider options.
I don't love PHP, I won't marry PHP (that's why I'm currently learning other languages to expand my career or simply having fun) but I wouldn't marry any other language either. I love programming and I see each language as a tool which might or not be useful, I'll keep learning, but I won't trash what I know because bashing it becomes trending topic among IT freshman.