我有一个像这样的测试应用程序:
我希望我的子应用程序从顶级Application.cfc继承所有变量和事件。
我已经阅读并实现了Sean Corfield's ApplicationProxy method来扩展应用程序组件但我无法让它工作,因为当我访问sub_app / index.cfm时出现此错误:
Could not find the ColdFusion Component or Interface ApplicationProxy.
从错误我只能猜测应用程序在错误的位置,我该如何纠正?
Application.cfc:
<cfcomponent name="Application" output="true">
<cfset THIS.name = "testAppA">
<cfset THIS.sessionManagement="Yes">
<cfset THIS.applicationTimeout = createTimeSpan(0,0,10,0)>
<cfset THIS.sessionTimeout = createtimespan(0,0,10,0)>
<cfset THIS.clientManagement = true>
<cfset THIS.clientStorage = "cookie">
<cfset THIS.loginStorage = "cookie">
<cfset THIS.setDomainCookies = false>
<cfset THIS.setClientCookies = true>
<cfset THIS.scriptProtect = true>
<cfset THIS.secureJSON = true>
<cffunction name="onApplicationStart" returntype="void">
<cfset APPLICATION.name = "testAppA">
<cfset APPLICATION.test = "test var">
</cffunction>
<cffunction name="onSessionStart" returntype="void">
<cfset SESSION.loggedIn = 1>
</cffunction>
</cfcomponent>
ApplicationProxy:
<cfcomponent name="ApplicationProxy" extends="Application">
</cfcomponent>
index.cfm:
<a href="sub_app/index.cfm">Sub app</a>
sub_app /的Application.cfc:
<cfcomponent extends="ApplicationProxy" output="true">
<!---
Uses parent Application settings
--->
</cfcomponent>
sub_app / index.cfm:
<a href="../index.cfm">Parent app</a>
<cfdump var="#Application#">
答案 0 :(得分:1)
最好的方法是使用您需要继承的所有函数创建ApplicationProxy.cfc文件,然后在需要的地方在Application.cfc中进行扩展。我使用这种方法很长一段时间,没有问题面对这种方法。