PHP vs. Zope

By Deane Barker on April 11, 2004

Switching from PHP to Zope/Python: Here’s a good, simple testimonial as to why one would use Zope over traditional scripting platforms.

Zope is a beautifully integrated set of solutions to common web development problems. It works in a substantially different way to traditionally scripted web-applications. Think of it as a collection of objects help with web publishing rather than a set of scripts to do a job.

I have personally tried to use Zope on two separate occasions, but I just couldn’t get past the voodoo of it all. If you’re coming from a “standard” scripting background, be prepared to leave everything you know at the door.

If you read through the comments, Zope seems to come out on the short end of the stick. Many more complaints than endorsements. There was also a link to FreeZope, which will give you a free Zope site to work with and try it out. If you do, post back here with your experience.



  1. Yep, zope has a very steep learning curve – and you really need to be familiar with a large number of classes before you can become truly productive in it.

    Not to mention that you need to be familiar with all the idioms of Python and Multiple-Inheritance Object-Oriented software development. This really is frightening voodoo.

    On the other hand, once you have grasped it’s principles and learned to invert your thinking it really fits together well. Pretty much anything you could do in PHP or classic ASP you can do a hell of a lot quicker in Zope.

    On the other hand, lets compare apples with apples: Zope is not a scripting language, it is an enormous collection of classes, applications and tools that help you solve most web-publishing jobs.

    If you want to plunge in and get scripting, Zope most certainly is not for you… if you are content to lean a system and re-use the objects made by bigger minds than me then go ahead!

  2. I’ve actually been using eZ publish for a few months now, and that’s made me a lot less scared of Zope. I’m more intrigued to figure it out now that I’ve figured out eZ publish.

    What scares me about Zope is that — last I checked — all data is in a monolithic data file. I’d be much more comfortable if it was all stored in a relational database.

  3. Actually, you can store the data any way you like; only the source files need to be store in the monolithic (and versioned) data file. From there, you have access to any DBMS for which there is an adapter; that is, pretty much everything, plus the local file system of course. I don’t want to seem like a zealot, but it seriously “rulez”. At least as much as Python does.

  4. What I wonder about then, is if I am connecting to and dealing with a DB anyway, then what value does Zope provide? I thought the whole idea behind Zope was object management and storage.

  5. I just looked in on the linked Kuroshin post above. Zope took a huge beating in the comments. Everyone’s experience was a lot like mine, it turns out, which makes me happy because I always thought I just didn’t “get” Zope. Turns out a lot of other people don’t get it either.

Comments are closed. If you have something you really want to say, tweet @gadgetopia.