거의 모든 공개 CMS는 데이터베이스 설정 등에 .php 구성 파일을 사용합니다. 예를 들어 WordPress는 설치할 때 .php 구성 파일을 자동으로 만듭니다.
왜 그냥 .ini 파일을 사용하지 않습니까? PHP에는 이미 parse_ini_file ()이 있으며 다른 언어에도 비슷한 기능이 있다고 확신합니다.
거의 모든 공개 CMS는 데이터베이스 설정 등에 .php 구성 파일을 사용합니다. 예를 들어 WordPress는 설치할 때 .php 구성 파일을 자동으로 만듭니다.
왜 그냥 .ini 파일을 사용하지 않습니까? PHP에는 이미 parse_ini_file ()이 있으며 다른 언어에도 비슷한 기능이 있다고 확신합니다.
답변:
특히 PHP로; .ini 파일과 .conf.php 파일의 차이점은 무시할 만합니다.
구성에 PHP를 직접 사용하면 구성을 위해 잘 정의 된 이식 가능한 구문 하나만 관련하면된다는 분명한 이점이 있으며 구성 파일이 제대로 코딩되어 있다는 사실이 때때로 유용합니다.
그것에 비해; ini 파일은 제공 할 것이 거의 없습니다. 와 include
, require
와는 require_once
잘 알려진하고 (대부분) 잘 이해.
.ini
구성을 저장하기 위해 XML 또는 파일을 사용한 경우 구성에 공개적으로 액세스 가능한 위치에서 실행중인 구성이 잘못되어있는 인스턴스가 많을 것입니다. 이는 일반적으로 좋지 않습니다. PHP 파일을 사용하면 서버의 내용을 방문자에게 제공하도록 서버를 잘못 구성하는 경우는 매우 드 rare니다.
일반적으로 말하자면 .ini
XML 구성 파일을 선호 합니다. 대규모 시스템에서는 종종 개발자 이외의 사람이 구성 값 (DBA 또는 sysadmin)을 변경해야합니다. 내가 아는 대부분의 DBA 및 sysadmin은 간단한 PHP 스크립트를 탐색하는 데 아무런 문제가 없지만 그렇지 않은 경우 선호합니다. 하나의 작은 실수는 몇 가지 방법으로 전체 응용 프로그램에 해를 끼칠 수 있습니다.
그러나 소규모 시스템에서는 구성에 PHP 스크립트를 사용하는 것이 매우 편리합니다. 나는 오늘 AWS SDK 로 놀고 있었고 구성을 위해 PHP 스크립트도 사용합니다.
CFCredentials::set(array(
'development' => array(
'key' => 'xxx',
'secret' => 'xxxx',
'default_cache_config' => sys_get_temp_dir(),
'certificate_authority' => true
),
'@default' => 'development'
));
를 하드 코딩하는 대신 default_cache_config
시스템 온도를 전달하면 스크립트를 배포하는 모든 시스템에서 작동합니다. 이 스크립트는 약 10 명의 개발자에게 전달되는 작은 개념 증명이며, 생각할 필요없이 그대로 실행하기를 원합니다. 프로토 타입이 진화하면 XML 구성 클래스를 사용하여 하드 와이어를 연결합니다 (그리고 파일 시스템 캐시에 의존하지 않음).
대답은 간단합니다. conf.php에는 기본적으로 작동하는 데 필요한 작업이 없습니다. 다른 소스 파일 일뿐입니다.
캐싱없는 속도도 이유가 될 수 있습니다. 필요한 경우 PHP 설정을 투명하게 opcode 캐시 할 수 있습니다. INI 파일은 읽을 때마다 텍스트 구문 분석이 필요하며 직접 캐시를 작성해야합니다. 작은 파일의 경우는 괜찮지 만 모든 요청에서 수백 줄의 구문이 분석되면 수십 밀리 초까지 올릴 수 있습니다. 이는 200ms 최적화 된 웹에는 상당히 많은 양입니다.
relate to one well-defined, portable syntax for configuration
나는 그것을 얻지 못한다. ini 파일에는 잘 정의되고 이식 가능한 구문도 있습니다. 모든.conf.php
파일은 자체 구조를 가지고 있으며 대부분 배열 기반이지만 ini 파일과 크게 다르지 않습니다.