一起管理多个CFC

时间:2016-06-02 06:36:26

标签: multithreading inheritance coldfusion cfc application.cfc

我的应用程序包含多个CFC(超过100个CFC)。我想在应用程序启动时启动这些CFC,以便我可以在系统中的任何位置使用它的实例。我可以知道一起初始化这些CFC的最佳方法是什么?有没有可用于动态初始化所有CFC的选项?

1 个答案:

答案 0 :(得分:1)

我假设你在谈论静态组件,即单身人士。

要初始化组件一次,请使用onApplicationStart中的Application.cfc事件,并将该组件存储在持久APPLICATION范围内。在第一个请求上执行此事件函数(线程安全)。然后,您将在模板中引用存储在APPLICATION范围中的组件。

您可以动态初始化组件,例如

componentPath = "yourPath.toThe.Component";
componentName = listLast(componentPath, ".");
APPLICATION[componentName] = createObject("component", componentPath).init();

您可以检索给定目录中所有.cfc文件的列表,然后使用上面的代码循环遍历它们。