ColdBox模块接口支持?

时间:2017-06-20 17:51:34

标签: coldbox

有没有办法为模块创建一个可以预期实现任何主机应用程序的接口?

我们有几个应用程序有很多常见的代码,我们想要重构为模块,但有时模块可能需要调用runEvent或{{1由于独特的行为和实现而存在于宿主应用程序中的处理程序方法。

我可以在模块中指定像#34;主机应用程序必须实现以下处理程序的合同:' admin.foo',' admin.bar',...& #34;

我猜测有一个模块加载拦截我可以手动执行此操作,但我想知道是否有一个约定,所以我可以将列表放在某处而不是复制粘贴样板代码进入每个模块。

1 个答案:

答案 0 :(得分:0)

您可以在ModuleConfig.cfcthis.dependencies = [ "myOtherModule" ]中指定依赖关系。这些依赖项将在模块之前加载。此时,无法“连接”模块以符合处理程序集合。

通常情况下,通过传递到其他模块,这很容易通过模块配置中的自定义路由来处理,而不是通过新的实现来处理:

addRoute(
    pattern="/this-module/foo",
    moduleRouting="that-module"
)

addRoute(
    pattern="/this-module/foo",
    module="that-module",
    handler="oldFoo"
    action="bar"
)

More on routing