views:

275

answers:

5

Is PHP suitable for Enterprise Application Development ?

+5  A: 

Well, Facebook uses it and you can't get much more enterprise than that.

In a corporate environment, however, you should always go with whatever is the most maintainable. If your company has a standard, use that.

You can write good code in PHP and you can write bad code in any language. Use what you think will provide the most bang for the buck. (For me, that is C#)

Now, Jeff Atwood (creator of StackOverflow) praises ASP.NET MVC for its compiled performance, but a similar speed can be achieved with compiled PHP.

John Gietzen
Don't forget Wikipedia.
alex
What do you mean by compiled PHP? Do you mean using an OP code cache like APC or what?
Icode4food
Facbook uses (or has used) some software called HipHop to convert PHP into C++ code, and compile it. It is in one of their blog posts: http://developers.facebook.com/blog/post/358
John Gietzen
+7  A: 

Absolutely. Check out some of the major sites using PHP, including:

  • Wikipedia
  • Yahoo
  • Facebook
  • Photobucket
  • Digg
  • Flickr

Some other resources for you:

http://phplens.com/phpeverywhere/node/view/15

http://stackoverflow.com/questions/130869/can-php-handle-enterprise-level-sites-as-well-as-java

http://www.interaktonline.com/Support/Articles/Details/PHP+Enterprise+Research+-+The+Results-PHP+Market+Overview.html?id%5Fart=11&id%5Fasc=130

Josh
Also, YouTube began life as PHP. But I *think* it's now in Python.
alex
+1  A: 

Yes, PHP is very well suited for application development at the enterprise level. Facebook is one good example, but many people forget about Wordpress.com, Wikipedia and others when considering this question.

Don't consider them to be enterprise grade sites? Check out their traffic.

Its all in how you use it. Using PHC or Roadsend (and the absence of MVC framework), I've gotten a lot of speed out of PHP while still keeping the code well organized and easy to maintain.

Tim Post
+1  A: 

Yes, PHP is a good language for some kinds of enterprise development. Its culture and design (specifically w.r.t. the extremely loose type system) puts a lot of emphasis on "keep it simple, stupid", "just getting it done", and avoiding excess/unnecessary abstraction. This can be a good thing or a bad thing depending on whether you care more about long-term maintainability, performance and verifiability or getting reasonably correct code out the door ASAP.

For the back-end parts of the code that will probably be written once then be put into maintenance mode long-term, I'd recommend against it. It's worth using a stricter language and spending more time upfront to get a more efficient, maintainable, verifiable, etc. product. For the more user-facing code that's going to be constantly growing new features on internet time, etc. I'd recommend PHP because, whatever you want to do, it's flexible and simple enough not to get in your way.

dsimcha
+1  A: 

With the Zend server stack running the application the entire site is optimised and ready for enterprise. Tools such as Cluster manager and Zend server make scaling easy over multiple servers and optimisations at a core code level make it run quicker on less servers. Then there is the debugging and developer solutions that make finding errors quick and easy. They also allow you to find issues that may affect the site before they become major problems so you can pro-actively keep your site in top condition. If your going enterprise you need to look at these tools.

potsed