I realize that this may not be your "stock" answer, especially on sites devoted to Zope/Plone, but to me, asking the question in this way is a little like asking a carpenter "Which tool is better, a saw or a drill?" It depends upon what you intend to make. Our company has built applications using both Zope/Plone (a Court document management system) and PHP (a public health site) and, to my mind, there is no simple answer. Among the issues you need to consider is what kind of activity will the site need to support, what is the size and scope of the project, what is the lifetime of the project (an important consideration when you are dealing with the rapidly changing world of web applications), who will maintain it and what are their skill levels. Without considering these in some detail, the question of which is better is unanswerable (in spite of what some may suggest). As I mentioned, one of the most important considerations is the life span of the project. Many of the advances and proposed changes to CSS, the Document Object Model (DOM) and the ability to manipulate the DOM in browsers, XML/XSL/XSLT, etc., will change what people expect of the behavior of web applications five years from now. Just like practically no one codes web applications strictly in HTML, I expect that five years (or less), hence, there will be tools and methodologies far better than either PHP or Zope, or one or both of those will have evolved to the point where what you build, today, will become a significant support issue. Zope/Plone is, essentially, an applications, designed to support the management of information within a given framework. To the extent that this framework already incorporates many kinds of business processes such as collaboration and workflow, you can build many "applications" with Zope out of the box and with minimal programming. In some cases, however, frameworks can also be constraining, which is one of there reasons that new frameworks are always being invented. PHP is much less constraining and much more flexible (although Python can certainly be extended as can Zope), but as a programming language it lacks even the simplest framework for building applications. There are commercial (and noncommercial) add-ons to PHP from companies like WebAssist and open source solutions from Sourceforge, but IMHO the more these try to look like Zope the easier using Zope becomes. I disagree with some who suggest that you can't or won't code a large application in PHP. I have certainly built templates in PHP which are used to render database driven content and managed to support applications with tens of thousands of virtual pages. But, again, if such things as content management and workflow are an important component of your application, starting with PHP would put you at a significant disadvantage. Put another way, it is very likely that 60-90% of what you want to do has already been done by someone and there probably exists one or more open source implementations. Characterize your application and its requirements and then look for something that gets you most of the way there, with little in the way of programming. Then be sure that what you pick as your 60% solution can be extended to address the other N%. Chances are you won't want to start with PHP, but then again, you might. If your application requires many different types of behaviors with very few stereotypic operations, you may want to use a programming language rather than a framework such as Zope. Sean McLinden