2 Questions -variables globales dans ColdFusion
En CF8 dans le application.cfm I froid une variable globale comme si
<cfset DSN = "dej6_42">
J'essaie maintenant de s'adapter à la Application.cfc dans CF10/Lucee et ne peut pas comprendre comment définir cette même variable.
Voici ma position actuelle Application.cfc
<cfcomponent output="false">
<cfset This.name = "My Application">
<cfset This.clientmanagement="True">
<cfset This.loginstorage="Session">
<cfset This.sessionmanagement="True">
<cfset This.sessiontimeout="#createtimespan(0,0,10,0)#">
<cfset This.applicationtimeout="#createtimespan(5,0,0,0)#">
<cfset DSN = "dej6_42">
</cfcomponent>
J'ai essayé
<cfset This.DSN = "dej6_42">
ensuite essayé d'appeler dans une page séparée
<cfoutput>#Applicaton.DSN#</cfoutput>
Je pense que de mes recherches je vais besoin d'utiliser à la fois application.cfc et application.cfm pour accomplir ce qui précède. * edit - J'ai essayé d'ajouter un include à la fin du fichier application.cfc à applciation.cfm et cela n'a pas fonctionné.
2 Question. Lorsque je place l'une des fonctions standard dans le Application.cfc mon site se transforme en une page blanche
Voici Application.cfc - I si je supprime tout ce qui est en dessous de l'ensemble DSN alors il affichera le site.
<cfcomponent output="false">
<cfset This.name = "My Application">
<cfset This.clientmanagement="True">
<cfset This.loginstorage="Session">
<cfset This.sessionmanagement="True">
<cfset This.sessiontimeout="#createtimespan(0,0,10,0)#">
<cfset This.applicationtimeout="#createtimespan(5,0,0,0)#">
<cfset DSN = "dej6_42">
<cffunction name="onApplicationStart">
</cffunction>
<cffunction name="onApplicationEnd">
</cffunction>
<cffunction name="onRequestStart">
</cffunction>
<cffunction name="onRequest">
</cffunction>
<cffunction name="onRequestEnd">
</cffunction>
<cffunction name="onSessionStart">
</cffunction>
<cffunction name="onSessionEnd">
</cffunction>
<cffunction name="onError">
</cffunction>
</cfcomponent>
La réponse de Matt est correcte. Les CFC ont leur propre portée de variables qui n'est pas partagée avec le reste de la demande. C'est par conception et souhaitable ou encapsulation. Notez également que la portée "application" ne fait nullement référence à des variables définies dans une portée dans le fichier Application.cfc. En outre, lisez les documents sur Application.cfc, vous interceptez votre demande avec des méthodes vides. –
Vous pourriez vouloir donner une lecture: http://www.learncfinaweek.com/week1/Application_cfc/ comme il explique ces méthodes de cycle de vie – Abram