轻松钩入ZCML处理机制
项目描述
简介
此软件包提供了将配置过程(Zope(ZCML))钩入的手段。
自定义ZCML操作
有时在执行配置动作期间执行一个函数是有用的,例如执行一次性的配置而不需要新的指令。为此提供了 <zcml:customAction /> 指令。
例如,您可能希望在配置动作执行周期中“晚些时候”调用名为 my.package.finalConfiguration() 的函数。这可以通过以下ZCML语句实现
<configure xmlns="http://namespaces.zope.org/zope" xmlns:zcml="http://namespaces.zope.org/zcml" i18n_domain="my.package"> <include package="z3c.zcmlhook" file="meta.zcml" /> <zcml:customAction handler="my.package.finalConfiguration" order="9999" /> </configure>
“handler”属性指定要执行的函数名称。该函数不应接受任何参数。“order”属性是可选的,可以用来影响函数在配置周期中的执行顺序。对于大多数Zope配置操作,默认值都是“0”。
覆盖自定义操作
如果您想在“overrides.zcml”中覆盖自定义处理程序的调用,需要通知“zope.configuration”要覆盖哪个处理程序。您可以通过显式设置“discriminator”来实现。判别器用于唯一标识一个配置操作。在`
<zcml:customAction handler="my.otherpackage.overrideFinalConfiguration" discriminator="my.package.finalConfiguration" order="9999" />
多次使用处理程序
“discriminator”属性也可以用来显式允许使用同一个处理程序多次。如果您想再次调用`my.package.finalConfiguration`,通常会得到配置冲突。然而,通过一个(唯一的)自定义判别器,第二次调用是被允许的
<zcml:customAction handler="my.package.finalConfiguration" discriminator="my.package.finalConfiguration:early" order="-9999" /> <zcml:customAction handler="my.package.finalConfiguration" discriminator="my.package.finalConfiguration:late" order="9999" />
这里,我们试图在配置过程“非常早”和“非常晚”时调用我们的配置操作。
变更日志
2.0 (2023-02-24)
添加对Python 3.10和3.11的支持。
放弃对Python 2.7、3.5和3.6的支持。
1.1 (2021-02-15)
添加对Python 3.5、3.6、3.7、3.8和3.9的支持。
添加测试额外功能以声明对`zope.component [test]`的测试依赖。[icemac]
1.0b1 (2010-01-02)
初始发布 [optilude]
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
z3c.zcmlhook-2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 21078e39af9579ceb9c25b56e0283b0959b0d7292fbe5187dc0ed75ffe5cec04 |
|
MD5 | 7a0a9284dc6f94d39e47de1bb4967940 |
|
BLAKE2b-256 | f3da09f14b2cc3d34270c3ed01521f07e1f484f92d8af0afc29b292aecac7086 |
z3c.zcmlhook-2.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6899120a092eca16eeacfb0223b6c03596ae82e9607505c8e9ee497aa56f944d |
|
MD5 | d3de65bcdb67764b87e2db868527ae27 |
|
BLAKE2b-256 | f17b12af6c2cbca827922fd2960aa219f6e05ce8b3bef7a5b62d244031026915 |