| This is a really useful and informative writeup. However, to me it just highlights a lot of things that Wordpress/PHP is bad at. For one, no mention of testing here (or really hardly anywhere in PHP-land), although keeping the API logic in a separate class is a good idea. Also, the flexibility/ease of use tradeoff going from wp_remote_get and friends is terrible. It's so frustrating that PHP doesn't have a better general networking solution than "idk, just fork to curl". The Guzzle library helps a lot here, but I don't see a lot of the PHP/WP community embracing it much. With the current plethora of widely-supported Web development frameworks, I really don't see any reason to use PHP or Wordpress for new projects. |
1. It's very easy to install for an inexperienced person, which is a pro shared by every PHP script you can imagine. If you're making a product meant to be run on shared hosting servers or aimed at a non technical audience, you do not want to have to say 'here's how to use the command line and here's how to set up SSH keys'.
2. So many other sites use it (especially news/blog sites) that using it makes things easier for new writers or other non technical people you want to contribute content to the service.
3. If you're part of a very small agency, aren't particularly interested in the programming side or want to get something done that can be done with a few plugins and a free theme and don't want to reinvent the wheel, it can work fine there too.
Yes, it's probably not recommended for those with significant software engineering/web development expertise, and there are certainly pain points for those in those situations, but I think the key thing to remember is that its ideal audience is a much less technical one with limited hosting options and a need for easy installation over code quality.