Возможный создать неограниченное по объему глобальное в application.cfc?

Я перемещаю старое приложение, которое использует application.cfm для использования application.cfc. CFM устанавливает несколько globals такой как

<cfset dsn = "myDSN">

Я попытался поместить ту строку кода в onApplicationStart, onRequestStart, и т.д. но попытаться распечатать то значение на тестовой странице приводит к ошибке. Устанавливание значения в области действия приложения (например, application.dsn) хорошо работает, конечно, но я нахожусь под жестким сроком и не могу раскачивать лодку путем выполнения по всему сайту поиск и замена для каждого глобального.

Я знаю помещение, они в объемах - правильный поступок, но, в настоящее время, являются там любым способом переключиться на использование Приложения. CFC, но все еще создают неограниченные по объему глобальные переменные?

7
задан James A Mohler 29 November 2012 в 23:22
поделиться

2 ответа

Попробуйте поместить его в onRequest () вместо onRequestStart () .

10
ответ дан 6 December 2019 в 14:00
поделиться

Вам понадобятся Application.cfc и Application.cfm. Переместите весь основной код из Application.cfm в соответствующие части Applicaiton.cfc.

Затем, и это может быть единственная строка в Applicaiton.cfm:

Теперь вернитесь к Application.cfc и добавьте это вне всех функции:

Теперь в вашем test.cfm должна быть возможность выводить переменную dsn без префикса области:

#dsn #

Если вы определяете variables.dsn где-нибудь внутри CFC, вы помещаете переменную в область переменных CFC, которая является частной для CFC. Определив его в CFM, а затем включив CFM, он сохраняется в области переменных запроса страницы.

4
ответ дан 6 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: