Чтобы расширить комментарий Рибера, вы можете рассмотреть возможность использования этого подхода. Я предполагаю, что вы используете CF8.01 или более позднюю версию, так как я использую вложенную неявную структуру. Это может быть легко преобразовано в синтаксис CF7 / 6 / etc, но не будет таким чистым или кратким.
Опять же, это применимо только в том случае, если ваш INI-файл не используется никакими другими приложениями или людьми, и не требуется в формате INI.
settings.cfm:
<cfset variables.settings = {
fooSection = {
fooKey = 'fooVal',
fooNumber = 2,
},
fooSection2 = {
//...
},
fooSection3 = {
//...
}
} />
Application.cfc: (только метод onApplicationStart)
<cffunction name="onApplicationStart">
<cfinclude template="settings.cfm" />
<cfset application.workflow = variables.settings />
<cfreturn true />
</cffunction>
Кроме того, я использую приложение CFEncode для шифрования содержимого settings.cfm
. Он не защитит вас от кого-то, кто получит копию файла и захочет посмотреть, каково его зашифрованное содержимое (шифрование не такое сильное, и есть способы просмотреть содержимое, не расшифровывая его), но если вы просто хочу не пускать любопытных людей, это добавляет немного дополнительного барьера для входа, который может сдерживать некоторых людей.
Обновление: Поскольку вы только что оставили комментарий, в котором говорится, что вы используете CF7, вот собственный синтаксис CF7:
settings.cfm:
<cfset variables.settings = StructNew() />
<cfset variables.settings.fooSection = StructNew() />
<cfset variables.settings.fooSection.fooKey = 'fooVal' />
<cfset variables.settings.fooSection.fooNumber = 2 />
<!--- ... --->
В качестве альтернативы вы можете использовать JSONUtil и CFSaveContent, чтобы продолжать использовать подход, похожий на JSON (аналогично моему первоначальному синтаксису), но для CF7:
<cfsavecontent variable="variables.jsonSettings">
{
fooSection = {
fooKey = 'fooVal',
fooNumber = 2,
},
fooSection2 = {
//...
},
fooSection3 = {
//...
}
};
</cfsavecontent>
<cfset variables.settings = jsonUtil.deserializeFromJSON(variables.jsonSettings) />