次のような構造のテストアプリケーションがあります。
- アプリケーション.cfc
- ApplicationProxy.cfc
- 索引.cfm
- サブアプリ/
- アプリケーション.cfc
- 索引.cfm
そして、サブアプリが最上位の Application.cfc からすべての変数とイベントを継承するようにします。
アプリケーション コンポーネントを拡張するための Sean Corfield の ApplicationProxy メソッドを読んで実装しましたが、sub_app/index.cfm にアクセスすると、次のエラーが発生するため、機能させることができません。
Could not find the ColdFusion Component or Interface ApplicationProxy.
エラーから、アプリケーションが間違った場所を探しているとしか推測できません。これを修正するにはどうすればよいですか?
アプリケーション.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>
アプリケーションプロキシ:
<cfcomponent name="ApplicationProxy" extends="Application">
</cfcomponent>
インデックス.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#">