Why would you use PHP for a startup?

Location: E144 Level: Intermediate
Average rating: ****.
(4.50, 2 ratings)

Being free to choose technologies for a major project is a rare luxury. In an established company, the skills, toolchain components and management comfort already on site strongly drive new projects towards choices made by prior teams.

A startup is a blank canvas. There is no good reason not to use the best tool for the task. Why did we pick PHP for PandaWhale? Why did other startups? Why might you make the same or a different decision for your project?

If you are thinking of a web based startup,

  • what do you gain by choosing PHP,
  • what do you lose?, and
  • how can you use modern PHP to get the best of all worlds?

Public barometers of startup culture style like Hacker News and Quora make it pretty clear that PHP is not a fashionable choice. A more recent language like Ruby, Scala or JavaScript backed by a NoSQL database would certainly be a better choice if fashion was your key motivation.

Of course if fashion was your key motivation, you probably would not have become a software engineer, so what advantages do you get from bucking trends and choosing the tweed jacket with elbow patches of web programming languages?

PHP has grown up with the web, so there is a deep pool of knowledge to draw from. There are well known ways to make it scale. There are many, many solved problems that don’t need to be solved again. PHP has always been keen to absorb features people like in other languages, and wrap or mimic libraries and frameworks.

Like any real world engineering choice, nothing comes free. Every decision involves tradeoffs, and you should know what you are losing as well as gaining when you make a decision.

By choosing PHP you choose to enter a Balkanized community, where there is rarely an agreed best tool, idiom or library for solving a single problem. The cultlike “one true way” mindset of some language communities has advantages but the generally pragmatic PHP bias towards getting things done and away from ideological purity suits the constrained resources you find in a startup.

By choosing PHP you might find it harder to hire the stereotype startup engineer. The caricature sleep deprived, socially awkward genius in his early 20s wants to spend 120 hours a week working in Erlang or Scala. Of course real people who exactly match stereotypes are pretty rare. A bigger pool of qualified engineers probably overrides losing the hipster vote.

There is no reason for 2012 PHP to look like the PHP a sleep deprived 20-something wrote in 1995. Modern PHP can keep the advantages that come from a mature, web focused ecosystem, and take advantage of the features and mindsets that are an intrinsic part of competing languages syntaxes, mindsets or communities.

Photo of Luke Welling

Luke Welling

Tidal Labs

Luke Welling is from Melbourne, Australia, but lives in rural Maryland and works remotely for Silicon Valley startup, PandaWhale.

He’s seen lots of good code and bad code, and tries to write more good than bad. Over the last decade, he has applied PHP in many places where it was intended, and in many places where it was never meant to go.

With his wife Laura, he wrote the bestselling book PHP and MySQL Web Development and often speaks about PHP at conferences and user groups.

His hobbies include riding his horses and sticking Splayds in toasters, although he has not yet attempted to do both at once.


For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or scordesse@oreilly.com.

View a complete list of OSCON contacts