Why Not PHP?

Following up on a recent post explaining why PHP works in the Enterprise, I thought it might be equally useful to lay out the common concerns I have heard over the years from programming shops trying to make the case against PHP and for another web development platform.

Here are a few off the top of my head:

  • PHP coders are sloppy
  • PHP doesn’t scale
  • PHP runs heavy
  • PHP doesn’t have a solid object model
  • PHP lacks vendor support
  • PHP packages are full of security flaws
  • PHP doesn’t handle recursion well
  • PHP is open source, and therefore impossible to sell
  • PHP can’t handle complex business logic
  • PHP is not strongly typed

Clearly, some of these are myths and some are legitimate concerns that require strategy to address. The first “complaint” can be addressed by reading my article in PHP Magazine on “Enterprise PHP Coding Standards.” The second is addressed in my forthcoming article in that same magazine entitled “Farming PHP.” The third issue I am addressing in an article I am still working on about “High Performance PHP.” The less-than-solid object model, limitations on recursion, and other stains on PHP’s reputation are addressed in PHP5, and can be mitigated in PHP4. Others–like the belief that PHP can’t handle complex business logic–are simply myths.

Still other issues, like how to perform a security audit on an existing package before deploying it in the enterprise, constitute fertile ground for discussion, explanation, and strategy. At this point, I’m thinking that between adressing the common complaints against PHP in the Enterprise with solid strategic advice and extolling the virtues of PHP for business-critical applications, I could write a book. Would you buy a copy? For yourself? For your boss? More importantly, how would a resource like this contribute to shifting the perception that PHP is somehow not ready for the enterprise and bring it to the forefront as a viable option–where it belogs?