Heroku, the "pure platform-as-a-service" provider aimed at developers that over time has added support for languages like Java and Node.js, has just announced support for one of the most widely used -- and widely debated -- languages across the Web: PHP.
Perhaps it was inevitable. The sheer size of the PHP programmer and application base makes it hard for any PaaS to withhold support for it, and in fact all the other major PaaS providers -- Google App Engine, Amazon Elastic Beanstalk, and Windows Azure -- have PHP runtime support.
But PHP's also been fraught with controversy over its security and has a history of applications being vulnerable to many kinds of attacks (such as SQL injection). The language has also long been associated with a quick-and-dirty programming style that lends itself to insecurity.
What's changed? According to Adam Gross, VP of product at Heroku, one of the biggest recent developments that drove Heroku to accept PHP as a proper first-class language was the creation of Facebook's HipHop VM for PHP -- not just because of the performance enhancements HHVM provided, but because it provided a modern VM framework for the language that's more akin to Java's JVM than the previous generations of interpreters for PHP.
The existing, and enduring, PHP developer community was another spur to adding PHP to Heroku's stable. "PHP developers are like the dark matter of the developer universe," said Gross. "They're not as visible and vocal, but there are a lot of them."
Aside from providing support for PHP by way of HHVM, Heroku also plans to support Composer, the PHP packaging system akin to Python's Pip or Node's NPM. Gross notes that having Composer solves PHP's long-standing dependency management problem and makes PHP more of a modern development environment. Another key development in the PHP world, and one that drove its adoption into Heroku's fold, has been the rise of PHP frameworks like Symfony and Zend, which obviate much of the heavy lifting and boilerplate code needed to create websites in PHP.
The original PHP and HHVM will both be available as a standard Heroku build pack, so existing Heroku developers (or existing Heroku projects) will be able to add PHP with little effort. PHP will also be supported through Heroku XL, Heroku's technology for application scaling, which will allow both the original PHP interpreter and HHVM to be scaled for high-demand applications.
The PaaS scene has long offered a wilderness of choices for the average developer, with Heroku being one of the most mature and battle-tested of the bunch. For Heroku to add PHP to its existing language and platform mix ought to be attractive to both "pure" PHP developers as well as those using PHP as part of a larger solution. It's unclear if this will allow PHP usage to break through what Gross has characterized as the "glass ceiling" of its usage, since such perceived limitations on what PHP is good for -- and how robust it can be -- will likely take more than Heroku's effforts alone.