2012-09-18 4 views
4

현재 ApplicationSettings.cfm 및 ThisSettings.cfm에서 설정하고있는 매개 변수가 Application.cfc에 포함되어 있습니다. 이 설정은 환경 특정 정보가 포함되어 있기 때문에 소스 코드와 별도로 유지하려고합니다. 나는 현재 이들 파일을 gitignore하고 샘플 설정을 위의 주석에 붙여 넣습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?응용 프로그램과이 매개 변수를 ColdFusion에 설정하고 저장하는 가장 좋은 방법은 무엇입니까?

+1

더 나은 정의 : 다음은 특성 파일에서 응용 프로그램 범위 속성을 설정하는 매우 간단한 예입니다. 현재 코드가 원하지 않는 것은 무엇입니까? 이 작업을 수행하는 방법은 다양하며 가장 적합한 방법은 사용되는 상황에 따라 다릅니다. –

+1

@PeterBoughton, 방금 최신 소스를 가져올 때 다른 개발자의 변경 사항을 덮어 쓰지 않고 소스에 설정을 포함시키는 쉬운 방법이 필요했습니다. 아래 답변에 따라 Application.cfm.template이 나를 잘 처리합니다. – JamesRLamar

답변

4

마음에 두 가지 접근법이 있습니다.

  • 우리는 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); 
        }       
    
+1

전에 ApplicationSettings.cfm.template과 같은 것을 보았습니다. 그러나 어떻게 구현되었는지 잊어 버렸습니다. 당분간 훌륭한 답변을 주셔서 감사합니다. – JamesRLamar