将Todo配接到Zope3中 在完成基本代码和接口之后,来了将内容对象配接到Zope2中的窍门。 这个通过ZCML来完成。ZCML是一个可扩展的配置语言,它定义并描述组件以供Zope3使用。 ZCML仿佛很罗嗦,并且我也不总是它的狂热者,但我有学习过。通常显式的比隐式的好得多。 Zope2经常制造许多隐式的假定。 在很大程度上,这不是问题。 但当它是一个问题的时候,它通常是很难被发现并调试的。 当找到了,它通常在系统中,也就是说它做了一些聪明的假设,而开发开发者并不期望它那样自作聪明。 既然我们的接口和内容类已经就位,现在是将他们配接的时候了。 利用ZCML,我们可以在代码外为对象定义性能和接口。 例如,声明IAttributeAnnotatable支持将允许其它的Zope3组件增加annotations。 Annotations包括像 Dublin Core 这样的东西,它可让Zope3跟踪名称,描述,修改时间等等,而不需要像之前在Zope2中那样自己编写代码。 以前,在Zope2中穿插在基于python的产品代码中的许多安全声明也被移动到ZCML中了。 其它的ZCML元素可以被认为与该产品中的def initialize(context):的Python代码相似: ]]> 最后二行, ]]> 和 ]]> , 我将简单说一下。 那是web接口被配接的地方。 到目前为止开发的还是小项目,我有仅仅学习并完成了基本的增加和编辑表单,这些在Zope3中真是相当的简单。 这个是接口schema项目将开始运行的地方。类似的,我假定,对于“Ruby On Rails”是Scaffolding 但是,迄今为止我们只构造了模型对象并将它们配接到基本的Zope3应用中。 然后——标准视图和控制器。