C'est possible, mais faites attention, car vous pourriez avoir des problèmes de fuite que vous ne voulez pas. Prenez la structure de fichier suivant:
wwwroot
-- Application.cfc
-- index.cfm
-- Subfolder
---- Application.cfc
---- index.cfm
Application.cfc:
<cfcomponent>
<cfset this.name = "foobar" />
<cfset this.applicationtimeout = CreateTimeSpan(1,0,0,0) />
<cfset this.sessionmanagement = false />
<cffunction name="onApplicationStart">
<cfset Application.Started = Now() />
</cffunction>
</cfcomponent>
index.cfm:
<cfdump var="#Application#">
<cfdump var="#Session#" />
Subfolder/Application.cfc
<cfcomponent extends="Application">
<cfset this.sessionmanagement = true />
</cfcomponent>
Sous-dossier/index .cfm
<cfdump var="#Application#">
<cfdump var="#Session#">
Une décharge dans le index.cfm racine montrera aucune valeur pour cfid, sessionid, CFTOKEN, etc. Cependant, une décharge dans Subfolder/index.cfm affichera toutes les informations habituelles de session. Les deux fichiers index.cfm videront la même valeur démarrée dans la portée Application.
Dan
dernière fois que j'essayé, étend = "Application" ne fonctionne pas. – Henry
Bien sûr ... vous devez utiliser un ApplicationProxy. J'utilisais du code en direct qui utilisait extends = "scribble.Application" et je venais de supprimer le répertoire scribble. Plus sur ApplicationProxy à http://www.dansshorts.com/post/extending-the-root-application-cfc Désolé à ce sujet ... Dan –
merci! impressionnant. – Henry