Jam*_*ler 1 coldfusion application.cfc coldfusion-9 fw1
我的application.cfc以:
<cfcomponent extends="org.corfield.framework">
稍后的 void function setupApplication() output="false" {
我有
// tools
include "initapp.cfm";
Run Code Online (Sandbox Code Playgroud)
initapp.cfm只有函数.像:
<!--- Helper functions --->
<cfscript>
string function stripHTML(str) output="false" {
return REReplaceNoCase(arguments.str,"<[^>]*>","","ALL");
}
application.stripHTML = stripHTML;
</cfscript>
Run Code Online (Sandbox Code Playgroud)
函数的性质与会话无关.有没有更好的方法让全球的功能可用?
如果您尝试将辅助函数放在一起以在CFC中使用,则可以使用component.cfc文件.
使用component.cfc文件
所有CFC都自动扩展ColdFusion WEB-INF/cftags/component.cfc组件.(WEB-INF目录位于ColdFusion上的cf_root/wwwroot目录中,配置有嵌入式J2EE服务器.当您在J2EE服务器上部署ColdFusion时,它位于cf_root目录中.)此CFC作为零长度文件分发.您可以将它用于希望ColdFusion应用程序服务器实例中的所有CFC都继承的任何核心方法或属性.
注意:安装较新版本的ColdFusion时,安装过程会将现有的component.cfc文件替换为新版本.因此,在升级之前,应保存已添加到component.cfc文件的任何代码,然后将代码复制到新的component.cfc文件中.
如果该解决方案是TOO全局,您可以扩展您的帮助程序cfc,但必须在每个cfc中完成,并且不回答您的一次性设置 - 忘记它的想法.请参阅有效使用CFC
如果您的帮助函数用于.cfm文件,我会像Adam建议的那样.我通常将我的帮助函数放在位于CFC文件夹中的"工具"cfc中,并使其成为应用程序范围的cfc.
function onApplicationStart(){
application.tools = createObject("component", "cfc.tools");
}
Run Code Online (Sandbox Code Playgroud)
我的一个辅助函数记录了索引solr集合所需的时间.使用它看起来像
<cfset application.tools.logSolrIndex('collectionName',getTickCount()-start,qFileList.recordCount)>
Run Code Online (Sandbox Code Playgroud)
最后一种方法: 如果您必须坚持使用include以在application.cfc之外使用,我可能只需在包含您的页面之前包含initapp.cfm onRequest().
| 归档时间: |
|
| 查看次数: |
1968 次 |
| 最近记录: |