2 Вопросы -Глобальные переменные в ColdFusion
В CF8 в application.cfm я холодный установить глобальную переменную как так
<cfset DSN = "dej6_42">
Я сейчас пытается приспособиться к Application.cfc в CF10/Lucee и не может понять, как установить эту же переменную.
Вот мой текущий 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>
Я попытался
<cfset This.DSN = "dej6_42">
Затем попытался вызвать в отдельной странице
<cfoutput>#Applicaton.DSN#</cfoutput>
Я думаю, что от моего исследования я буду необходимо использовать как application.cfc, так и application.cfm для выполнения вышеуказанного. * edit - Я попытался добавить include в конец файла application.cfc к applciation.cfm, и это не сработало.
2 Вопрос. Когда я помещаю какие-либо из стандартных функций в Application.cfc, мой сайт превращается в пустую страницу
Вот что Application.cfc - I, если я удалю все ниже набора DSN, тогда он отобразит сайт.
<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>
Ответ Мэтта правильный. У CFC есть свои собственные области переменных, которые не разделяются с остальной частью запроса. Это по дизайну, желательно или инкапсуляция. Также обратите внимание, что область «приложение» никоим образом не ссылается ни на какие переменные, установленные в любой области приложения Application.cfc. Кроме того, прочитайте документы на Application.cfc, вы перехватываете свой запрос пустыми методами. –
Возможно, вы захотите прочитать это: http://www.learncfinaweek.com/week1/Application_cfc/, поскольку он объясняет эти методы жизненного цикла. – Abram