2017-06-20 82 views
0

有沒有辦法爲任何主機應用程序可以實現的模塊創建接口?ColdBox模塊接口支持?

我們有幾個應用程序有很多常見的代碼,我們希望重構爲模塊,但有時模塊可能需要調用runEventsetNextEvent來處理宿主中的處理程序方法應用程序由於獨特的行爲和實現。

我可以在模塊中指定一個像「主機應用程序必須實現以下處理程序:'admin.foo','admin.bar',...」的合同嗎?

我猜是有一個模塊加載攔截我可以手動執行此操作,但我想知道是否有一個約定,所以我可以將該列表放在某處而不是將模板代碼複製粘貼到每個模塊中。

回答

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