좋은 설정 파일 형식이 필요합니다. 테이블 스키마에 넣을 계획입니다. 심포니 (symfony), 루비 레일 (ruby on rails) 등등. 설정 파일을위한 최상의 파일 형식은 무엇입니까? Yaml 또는 XML 또는 JSON 인코딩 파일? 이 목적에 가장 적합한 것은 무엇입니까?구성 파일에 가장 적합한 파일 형식은 무엇입니까?
답변
다른 사람들이 언급했듯이 많은 옵션이 있습니다. 그렇게 할 수있는 정말 좋은 이유가 없다면 (예 : 파서를 작성하지 마십시오.)그냥 옵션을 평가 :
- 당신이
- 은 당신이 원하는 마십시오 (다른 언어로) 내 응용 프로그램 외부의 아무 곳이나이 데이터에 액세스해야합니까 사용자 (또는 자신) 간단한 텍스트 편집기를 사용하여 파일을 편집 할 수 있도록
- 가 거꾸로 예를 들어, 사용 된 언어
의 이전 버전과의 호환성을해야합니까, PHP는 매우 쉽게 직렬화()와 때 unserialize() 함수를 제공합니다. 그러나 형식은 사람이 쉽게 읽을 수 있고 편집 할 수는 없습니다 (XML도 읽기가 어려울 수 있지만 PHP 형식만큼 어렵지는 않습니다.) 파이썬의 피클 모듈은 훨씬 더 나쁩니다. 다른 언어로 데이터에 액세스해야하는 경우 이는 잘못된 선택입니다. 그리고 다른 사람들에 대해서 생각해보십시오 - 저는 최근에 파이썬 프로젝트의 Horde 프로젝트에서 직렬화 된 PHP 데이터를 구문 분석하는 데 모자를 씁니다! JSON은 인간이 편집 할 수 있고 모든 주요 언어가 요즘 JSON을 지원하는 사람이 읽을 수있는 형식 (압축 형식이 아닌 "예쁜 인쇄물"인 경우)이 있기 때문에 훨씬 더 나은 선택입니다. 그러나 이전 버전과의 호환성을 잃게됩니다. Python을 사용하려면 JSON에 버전 2.6 이상이 필요합니다.
나는 대답의 한 부분으로 문제를 쓴다. 인간이 XML을 쉽게 읽고 편집 할 수없는 이유는 무엇인가? 그게 큰 장점 중 하나입니다. JSON보다 더 자세한 정보이며 JSON에는 아무런 문제가 없습니다. – ViennaMike
PHP의 직렬화 형식이나 비단뱀 피클보다 훨씬 읽기 쉽습니다. 그러나 그것은 또한 매우 장황합니다. 나는 읽을 때 혼란스럽고 쓸 때 귀찮습니다. 거기에는 이유가있는 "XML 편집기"라는 전체 소프트웨어 범주가 있습니다.) – c089
"쉽게 읽을 수 없다"라는 대답을 변경했습니다. – c089
무엇을 넣을 계획입니까? 사용자 정의 태그와
- XML은
- 키 - 값 쌍 각각의 새로운 라인
- SQLite는에 :
당신은 옵션의 부하가?
응용 프로그램을 설정하기 위해 SQLite 클라이언트 도구가 필요하며 SQL 쿼리에 익숙해야하므로 SQLite를 구성으로 사용하지 않는 것이 좋습니다. – RaYell
*.ini
는 XML 파일을 읽을 수있는 대부분의 프로그래밍 langauge privide API 등이 목적에 가장 parse_ini_file()
$config = parse_ini_file('/path/to/config/file', true);
echo $config['MyApp']['var2'];
좋은 답변입니다. 특히 장기간 언어 범위가 PHP로 유지되는 경우. 내 응용 프로그램에서 .ini 파일을 항상 "제어 및 제어 도구"로 사용합니다. – pimbrouwers
ini는 여러 줄을 지원합니까? – starbeamrainbowlabs
줌라는 최근에 ini 파일을 JSON 인코딩 파일로 전환했습니다. json_encode()
및 json_decode()
을 사용하여 인코딩 및 디코딩 json은 ini 파일을 읽고 쓰는 것보다 효과적입니다.
그러나 단점이 있습니다. json은 사람이 쉽게 읽을 수 없습니다. 구성 파일을 인코딩하려면 PHP 스크립트를 사용해야합니다. 웹 사이트의 관리자 부분에 구성을 쓰고 싶을 때이 솔루션을 잘 사용할 수 있습니다.
JSON은 표준 PHP 직렬화 형식과는 달리 사람이 읽을 수있는 편이라고 말할 수 있습니다. –
JSON은 제 의견으로는 좋은 선택입니다. 당신은 같은 데이터베이스 스키마를 정의 할 수 있습니다 : 그럼 그냥 PHP는 배열로를 설정하는 json_decode를 사용
{
table1: {
id: {
type:"int",
autoincrement:true
},
some_field: {
type:"string",
}
},
table2: { // etc
}
}
.
$tables = json_decode($json_text);
foreach ($tables as $tablename => $t) {
foreach ($t as $fieldname => $field) {
echo "Table {$tablename} has a record called {$fieldname}";
}
}
이 인쇄 것입니다 : Table table1 has a record called id Table table1 has a record called some_field
JSON 내 의견으로는 XML, 및로 json_encode보다 작업하기가 훨씬 쉽다/디코딩은 매우 빠른 약간의 오버 헤드가 그래서입니다. 제 생각에는 XML보다 훨씬 읽기 쉽고 INI 파일보다 복잡한 데이터 구조를 더 잘 대처할 수 있습니다. 어떤 사람들은 YAML을 선호하지만 실제로 구문에는 그다지 차이가 없습니다.
내 취향은
- 잘 문서화 PHP 파일입니다 사용자의 특정 구성에 대한
- 데이터베이스
워드 프레스와 수많은 PHP 애플리케이션은
를 사용하는 사람은 정말 당신을 준 것처럼 이미 좋은 답변. 개인적으로 .ini 파일이 문서 루트 외부에 있습니다. 또한 귀하의 파일이 귀하의 웹 서버에서만 읽을 수 있고 쓰기 가능하지 않은지 확인하십시오 (Linux 호스팅 환경 인 경우).
그러면 INI 파일을 간단히 구문 분석하고 그런 구성 설정을 사용할 수 있습니다. (PHP와 같은 언어를 사용하는 경우 JavaScript가 작동하지 않습니다.)
하지만 그들은 그렇게 말합니다. 그것은 모두 당신이 당신의 설정 파일에 갖고 싶은 데이터와 함께 할 일에 달려 있습니다.
감사 콘래드 C '')
- 1. 언어 파일에 가장 적합한 형식은 무엇입니까?
- 2. 구문 분석에 가장 적합한 파일 형식은 무엇입니까?
- 3. mysql 데이터 내보내기에 가장 적합한 형식은 무엇입니까?
- 4. iPhone에서 음향 효과에 가장 적합한 형식은 무엇입니까
- 5. actionscript에 가장 적합한 문서 형식은 무엇입니까?
- 6. 여러 데이터 입력에 가장 적합한 형식은 무엇입니까?
- 7. LOG4J의 로그 파일에 가장 적합한 크기는 무엇입니까?
- 8. OBJ 대 3DS - Android 3D 개발에 가장 적합한 형식은 무엇입니까
- 9. 클래스 파일에 가장 적합한 크기는 무엇입니까?
- 10. 고품질 온라인 오디오 및 비디오에 가장 적합한 형식은 무엇입니까?
- 11. SQL Server에 주석을 저장하는 데 가장 적합한 데이터 형식은 무엇입니까?
- 12. RDBMS에서 가장 적합한 키/값 쌍 직렬화 형식은 무엇입니까?
- 13. 데이터베이스가없는 연락처/주소 유형을 저장하는 데 가장 적합한 형식은 무엇입니까?
- 14. 자동 완성을 제출하는 데 가장 적합한 형식은 무엇입니까?
- 15. 압축되지 않은 텍스처에 가장 적합한 이미지 형식은 무엇입니까?
- 16. 휴대 전화 용 웹 사이트에 가장 적합한 비디오 형식은 무엇입니까?
- 17. DB 스키마에 가장 적합한 ASP.NET 구성
- 18. 가장 적합한 PEAR는 무엇입니까
- 19. 이 문자열에 적합한 NSDateFormatter 형식은 무엇입니까?
- 20. mysql 결과를 파일에 저장하는 PHP의 가장 좋은 형식은 무엇입니까?
- 21. 표준 암호화 파일 형식은 무엇입니까?
- 22. PHP와 Perl이 공유하는 좋은 일반 텍스트 구성 파일 형식은 무엇입니까?
- 23. 웹상의 비디오에 가장 적합한 MIME 유형은 무엇입니까?
- 24. 국제화 파일의 파일 형식은 무엇입니까?
- 25. animaton을로드하는 데 가장 적합한 3D 모델 파일 형식
- 26. 오디오 파일 캐시 설정에 가장 적합한 기술
- 27. 질문 구성 : 라이브러리에 예제 프로그램을 설치하는 가장 적합한 장소는 무엇입니까?
- 28. 압축 된 Windows에 사운드를 저장하는 데 적합한 형식은 무엇입니까?
- 29. 조작하기 쉬운 오디오 파일 형식은 무엇입니까?
- 30. LINQ에 가장 적합한 시나리오는 무엇입니까?
당신은 당신이 더 많은 질문을 받아 들일 경우, 당신이 바로, 더 담당자를 얻을 수 있음을 알 수 있습니까? –