Мы работаем с ColdFusion MX7.
Одна из проблем, с которыми мы сталкиваемся, заключается в том, что у нас много функций, которые мы используем на многих наших страницах. Было бы неплохо, чтобы они жили в рамках «Глобальной» области ColdFusion, а не включали их во все наши страницы.
Есть ли способ сделать это, не включающий пользовательские теги или тому подобное?
Я знаю, что мы могли бы прикрепить некоторые объекты к областям применения или сервера, но тогда мы должны ссылаться на них как таковые.
Было бы просто добавить их в глобальную область видимости.
EDIT
Благодаря предложениям, вот что я придумала. По сути, для каждого запроса в функции OnRequestStart присвойте переменной с правильно заданным именем в клиентской области ссылку на функцию (this.functionName).
Application.cfc:
<cfcomponent OUTPUT="FALSE">
<cfset This.name = "MyApp">
<CFSET This.clientManagement = true>
<CFSET This.SessionManagement = true>
<CFFUNCTION NAME="Coalesce" OUTPUT="FALSE" access="public">
<CFARGUMENT NAME="ARG1">
<CFARGUMENT NAME="ARG2">
<CFIF ARG1 NEQ "">
<CFRETURN ARG1>
<CFELSE>
<CFRETURN ARG2>
</CFIF>
</CFFUNCTION>
<cffunction name="onRequestStart">
<CFSET CLIENT.COALESCE = this.COALESCE>
</cffunction>
</cfcomponent>
Страницы, находящиеся под этим приложением, с радостью отвечают на звонок:
<CFOUTPUT>#COALESCE("ONE","TWO")#</CFOUTPUT>
Отлично работает!