我的应用程序包含多个CFC(超过100个CFC)。我想在应用程序启动时启动这些CFC,以便我可以在系统中的任何位置使用它的实例。我可以知道一起初始化这些CFC的最佳方法是什么?有没有可用于动态初始化所有CFC的选项?
答案 0 :(得分:1)
我假设你在谈论静态组件,即单身人士。
要初始化组件一次,请使用onApplicationStart
中的Application.cfc
事件,并将该组件存储在持久APPLICATION
范围内。在第一个请求上执行此事件函数(线程安全)。然后,您将在模板中引用存储在APPLICATION范围中的组件。
您可以动态初始化组件,例如
componentPath = "yourPath.toThe.Component";
componentName = listLast(componentPath, ".");
APPLICATION[componentName] = createObject("component", componentPath).init();
您可以检索给定目录中所有.cfc文件的列表,然后使用上面的代码循环遍历它们。