Кой е най-добрият начин да зададете и съхраните вашето приложение и ТОЗИ параметри в ColdFusion?

Имам параметри, които в момента задавам в ApplicationSettings.cfm и ThisSettings.cfm, които включвам в Application.cfc. Искам да запазя тези настройки отделно от изходния код, защото те съдържат специфична за средата информация. В момента игнорирам тези файлове и поставям примерни настройки в коментарите по-горе, където ги включвам. Има ли по-добър начин да направите това?


person JamesRLamar    schedule 18.09.2012    source източник
comment
Дефинирайте по-добре. Какво не прави текущият ви код, а бихте искали да прави? Има много начини да направите това и кой е най-добрият зависи от контекста, в който се използва.   -  person Peter Boughton    schedule 18.09.2012
comment
@PeterBoughton, просто исках лесен начин за включване на настройките в източника, без да презаписвам промените на други разработчици, когато изтеглят най-новия източник. Според отговора по-долу, Application.cfm.template постига това добре за мен.   -  person JamesRLamar    schedule 18.09.2012


Отговори (1)


Има два подхода, които идват на ум.

  • създаваме ApplicationSettings.cfm.template и го пускаме в контрола на източника, но игнорираме истинския файл AplicationSettings.cfm. Всеки разработчик, който получава кода за първи път, копира ApplicationSettings.cfm.template в ApplicationSettings.cfm и редактира според нуждите.

  • другият подход е да напишете код за четене от .properties файл и да ги поставите извън вашата кодова база. По този начин конфигурационните файлове са чиста конфигурация. Това също означава, че актуализирането на кодовата база в производството е по-малко податливо на грешки, тъй като конфигурацията не е на същото място като кода (имаме стотици внедрявания, така че това е много важно за нас). Нашата кодова база чете от ../conf/config.properties, така че е относителна към кодовата база, но не на същото място. Ето един много прост пример за задаване на свойства на обхвата на приложението от файл със свойства:

        var e=props.propertyNames()
        for(e=props.propertyNames();e.hasMoreElements(); ){
            var key = e.nextElement();
            application[key]=props.getProperty(key);
        }                           
    
person barnyr    schedule 18.09.2012
comment
Бях виждал нещо като ApplicationSettings.cfm.template преди, но забравих как е реализирано. Благодаря за отговора, който би трябвало да работи чудесно за момента. - person JamesRLamar; 18.09.2012