在a.cfm中我有:
<CFSET VerObj = New cfcomponents.VerFold.Ver_Users()>
<CFSET VerObj.Functiion_1(userid)>
在接下来的几个模板c.cfm中,我需要在Ver_Users.cfc中调用一个不同的函数,我可以这样做:
<CFSET VerObj = New cfcomponents.VerFold.Ver_Users()>
<CFSET VerObj.Function_2(userid)>
如果我需要从另一个模板再次调用相同的cfc,我一直这样做,我认为这是非常尴尬和重复?使用.cfc的目的是让我可以通过以下方式重用或调用函数:
<CFSET VerObj,Function_1()> or calling Function_2
从任何地方都没有保持实例化cfc我是否正确?有没有关于如何完成这个的例子?
答案 0 :(得分:2)
实例化组件的性能损失非常小。在不同的模板中重新实例化它并不是错误的。
如果你真的想要删除这几个纳秒的内存字节,你可以在Application.cfc的onApplicationStart()事件中实例化组件一次,并将其存储在应用程序范围内。
<cfset application.verUser = new cfcomponents.VerFold.Ver_Users()>
然后调用cfm中的函数:
<cfset application.verUser.Function_1()>
答案 1 :(得分:0)
@Rbt - 您可以创建一个Application.cfc来实例化Ver_Users组件,并在cfm文件中调用application.Function1()和application.Function2()。您可以创建会话并使用会话范围,或使用将其视为全局的应用程序范围,具体取决于您希望如何使用它。