About the Author

Chris Shiflett

Hi, I'm Chris, a web developer and a founding member of Analog. I live and work in Brooklyn, NY.


Delicious PHP

Much ado was made of Derek Sivers's choice to migrate CDBaby from Ruby to PHP. Although I think CDBaby itself is noteworthy, this particular decision isn't. A similar decision was made when Friendster migrated from Java to PHP. Derek's motivation seems to be more about maintainability than performance, but both represent a shift from heavyweight frameworks to a lean, mean, fat-grilling web machine. Language devotion and hype are the only things that make such decisions seem surprising or even noteworthy.

I was interested to learn recently (via James McGlinn) that del.icio.us is switching to PHP (and the Symfony framework). It represents yet another migration to PHP, but this time it's from a mature, lightweight solution to a framework. Perhaps the fact that Yahoo Bookmarks uses the same framework has a lot to do with the decision, but regardless, a migration to a framework seems more noteworthy than a migration from a framework.

With this migration, PHP now powers most of the darlings of Web 2.0:

At The Future of Web Apps, I gave a workshop on web application security. I was pleased to learn that the vast majority of attendees were using PHP. Not because I cared whether the future belonged to PHP, but because all of my examples were written in it. :-)

About This Post

Delicious PHP was posted on Thu, 18 Oct 2007 at 15:10:13 GMT.

8 Comments

1. Cody Romano's GravatarCody Romano said:

Hi Chris,

I'm a filmmaker / PHP programmer living in Boston, MA. I'm making a documentary about computer crimes, and I can see that you've worked as a security specialist for many years. I would appreciate your feedback. Please email me if you think you would be able to contribute.

Thanks,

Cody Romano

Thu, 18 Oct 2007 at 19:16:09 GMT Link


2. Adnan Ali's GravatarAdnan Ali said:

It unbelievable that I still hear "PHP doesn't scale" from my co-works. And when the list above is presented to them, the comeback is "well, PHP doesn't run any 'Enterprise' or financial websites"

sigh...

Thu, 18 Oct 2007 at 22:43:27 GMT Link


3. Les Orchard's GravatarLes Orchard said:

Actually, for what it's worth: del.icio.us is using a framework already, called Mason. (It's not just bare mod_perl.) Also, PHP at Yahoo! is not a new thing. So, consider that delicious is getting a major overhaul, and it's not too surprising.

Sat, 20 Oct 2007 at 00:44:18 GMT Link


4. David's GravatarDavid said:

Wow, I didn't know that so many of the top sites used PHP. That kind of gives me hope that I didn't make the wrong choice learning PHP instead of the many other options. ;)

Plus, I would definitely agree that PHP is fast! I am building a "CMS turned Light Plugin Framework" and I have the time to render a complete page down to about 3/100ths of a second and a cached page to about 7/1000th of a second!

Sat, 20 Oct 2007 at 03:06:08 GMT Link


5. Onur's GravatarOnur said:

Do we have a chance to learn anything about server informations (# of servers, hardware configurations, used php frameworks/extensions, etc.) of these "darlings of Web 2.0"?

Sat, 20 Oct 2007 at 10:37:35 GMT Link


6. Satya Prakash's GravatarSatya Prakash said:

Wow! I am feeling great of myself. I am a Web Developer (php platform).

Thu, 25 Oct 2007 at 14:06:03 GMT Link


7. terry chay's Gravatarterry chay said:

Onur,

Hmm putting Shiflett's stuff quotes huh? Well let's take Facebook as an example:

Server #: 2000-3000 on the front end.

PHP frameworks used: home grown

PHP extensions: APC certainly, :-D

Pages served: tens of billions of dynamic pages/month.

How about the company I work for?

Server #: 100-200 on the front end

PHP frameworks used: home grown, a tiny bit of PEAR

PHP extensions: Zend Platform currently + the default stuff in PHP 5.1

Pages served: a billion of dynamic pages/month

Digg? Go see Eli's talk.

Flickr? Go see Cal's talk.

wikipedia? del.icio.us? I never asked, but I can do some good dead reckoning. Wikipedia uses Wikimedia framework, btw. ;-)

When SmugMug (written in PHP, a Flickr style photo sharing site for professionals) switched to using Amazon S3 last year, they accounted for half of the objects stored in the entire S3.

Here's a hint: Reserve the quote marks for the ones that have no servers, no traffic, use Ruby on Rails, and actually call themselves "Web 2.0."

(P.S. I think the del.icio.us switch to Symfony is stupid. But I guess I'm in the minority. Then again, I was in the minority thinking Friendster's switch to PHP was dumb. So I guess being wrong is just mean reversion.)

Tue, 30 Oct 2007 at 23:03:52 GMT Link


8. Kostya's GravatarKostya said:

Hi,

I currently work with Telefonos Celulares

I like the PHP style and don't understand the people who want to migrate their projects from PHP to other language. Even any migration from language to language are the wrong solutions. The better solution is to improve your level as a programmer in the language you currently working, and (possible) rewrite the code in the better style.

Thu, 08 Nov 2007 at 16:13:17 GMT Link


Post A Comment

Personal Details and Comment

Style Guide

Line breaks are converted to paragraphs. Also use:

  • <a href="" title="">text</a>1
  • <em>text</em>
  • <blockquote><p>text</p></blockquote>
  • <code>2  <?php  if ($foo) {      $foo = TRUE;  }  ?></code>
  1. Note: <code> can be used inline (e.g. in paragraphs) or in a block as shown. Include whitespace and newlines in blocks.

Please enter Chris (my first name) below. This is a primitive spam prevention technique, and I apologize for the inconvenience.

Preview and Submit

Upcoming Talks

ConFoo

10 - 12 Mar 2010

At Hilton Montréal Bonaventure, Montréal, Canada.

South by Southwest

12 - 16 Mar 2010

At Austin Convention Center, Austin, Texas.

Dutch PHP Conference

10 - 12 Jun 2010

At TBD, Amsterdam, Netherlands.

O'Reilly Open Source Convention

19 - 23 Jul 2010

At Oregon Convention Center, Portland, Oregon.

New Comments

Niall Kelly wrote:

Having tried other methods without success and looked through plenty of bloated documentation, th...

Posted in Git on Snow Leopard
liukang wrote:

I have problem with this example. In my php.ini magic_quotes_gpc is off so i'm using only addsla...

Posted in addslashes() Versus mysql_real_escape_string()
RyanTheGreat wrote:

Well, I'm not Chris, but I will do my best to address the questions raised in the comments by Ian...

Posted in Security Corner: Cross-Site Request Forgeries
Chris Shiflett wrote:

Thanks for the kind words, Simon. I'm glad you liked the tutorial. In case it's helpful, here'...

Posted in Webstock
Chris Shiflett wrote:

Hi Robin, I plan to post something about it, but it's going to be hard to express everything i...

Posted in Webstock

Browse Comments


Work and Books

Analog Essential PHP Security HTTP Developer's Handbook