Как лучше всего установить и сохранить параметры вашего приложения и ЭТОГО в 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