← Back to articles index

Why PHP Will Never Have Rails

Despite Zend’s annoucement of the PHP Collaboration Project, I believe PHP will never have a Ruby On Rails framework.

Sure, there are plenty of PHP frameworks — hell, three new ones were announced this week–and it’s only Wednesday! It’s not that PHP will never have a framework that is similar to Rails; it’s just that we’ll never have one that unifies a group of developers in a similar fashion.

Why, you ask?

Well, prior to Rails, who the hell was using Ruby for web development? Perhaps a few people, but if you threw a rock at a web development conference two years ago, odds are that the developer you hit wouldn’t have even heard of Ruby.

In contrast, everyone’s heard of PHP, and everyone who’s heard of it and used it have developed their own style, techniques, personal code library, etc. The odds that thousands (if not tens of thousands) of PHP developers will collectively say “Okay, let’s scrap all that and do everything like THIS instead!” is just not very likely.

PHP has been around in the forefront of the minds of web developers for far too long for any one MVC framework to have the kind of rags-to-riches overnight success as Rails has had. Too many PHP devs have their own ideas of how to do things, and that, plus the perception of a shot at the kind of fame that the Rails developers have enjoyed lately, combines to form a fragemented bunch who all feel like they’re going to bring about the Next Big Thing.

Sadly, I believe that most, if not all, of these efforts will ultimately fail. Not because the code within them isn’t good, or even spectacular in some cases — just because not enough people will get on the same boat.

Want the fame of the Rails guys? Find a language no one is using (this is key!), and build a well-thought out MVC framwork for it. If the language is already widely distributed (as Ruby was), and the framework runs well and has a nifty name, BusinessWeek, Wired and Business 2.0 will be calling soon enough.

It’s not that Rails is doing something that can’t be done in PHP–I think most people reading this will be aware that MVC frameworks can be done in nearly any language, and many great ones have already been done in PHP. It’s that too many people using PHP are already doing their own thing. Coming out of obscurity with a small, unified approach is what has made Ruby On Rails work … and we’re way past the obscurity point with PHP.