환경설정 Config Class¶
환경설정클래스는 환경설정정보를 가져오거나 설정하는 방법을 제공합니다.환경설정 정보는 기본 설정파일(application/config/config.php)이나 당신이 만든 설정파일(custom config files)에서 가져올 수 있습니다.
Note
이 클래스는 시스템에서 자동으로 초기화하므로 수동으로 할필요가 없습니다.
환경설정 클래스와 함께하기 Working with the Config Class¶
환경설정 파일 해부 Anatomy of a Config File¶
기본적으로, CodeIgniter 는 하나의 주 설정파일(primary config file) 이 있으며, 그 파일은 application/config/config.php 입니다. 그 파일을 열어보시면 환경설정 정보가 $config 배열로 세팅되어 있는 것을 알 수 있습니다.
당신은 새로운설정정보를 이 파일에 추가할 수도 있고, 별도의 파일을 만든후 거기에 추가할 수도 있습니다.별도의 파일을 사용할 경우 파일을 만드신후 config 폴더에 저장하셔야 합니다.
Note
만약 설정파일을 만드신다면 주 설정파일과 같이 $config 배열을 사용하여 설정항목을 추가하세요 . CodeIgniter 는 배열이름이 동일하더라도 지능적으로 충돌이 일어나지 않도록 관리합니다. (배열인덱스의 이름은 서로 다르다고 가정합니다.).
환경설정 파일 로드 Loading a Config File¶
Note
CodeIgniter 는 주 설정파일(application/config/config.php)을 자동으로 로드합니다. 그러므로, 당신 직접만드신 설정파일이 있다면 그 파일만 로드 하시면 됩니다.
설정파일을 로드하는데는 두 가지 방법이 있습니다:
수동로드 Manual Loading¶
직접만드신 설정파일을 로드하려면 그파일을 필요로 하는 컨트롤러 (controller) 에서 다음의 코드를 사용하여 로드합니다:
$this->config->load('filename');
filename 는 당신의 설정파일 이름이며 .php 확장자는 붙이지 않습니다.
여러 개의 설정파일을 로드할 때는 모든설정파일들이 하나의 주 설정 배열 ( master config array)로 합쳐질것입니다.서로다른파일에서라도 배열인덱스의 이름이 동일하다면, 충돌이 일어납니다. 이러한 충돌을 피하기 위해서는 두 번째 파라미터를 TRUE 로 하면 됩니다. 그러면, 각 설정파일은 설정파일명과 동일한 배열인덱스에 저장될것입니다. 예제:
// Stored in an array with this prototype: $this->config['blog_settings'] = $config
$this->config->load('blog_settings', TRUE);
설정 아이템 가져오기 항목을 보시면 이런방법으로 설정된 값을 어떻게 사용하는지 알수 있으실 것입니다.
아래설정은 설정파일이 존재하지않을 때 발생하는 에러를 표시하지않도록 해줍니다.
$this->config->load('blog_settings', FALSE, TRUE);
자동로드 Auto-loading¶
만약 특정 설정파일을 글로벌하게 사용하고자한다면 그 파일을 시스템에서 자동으로 로드할 수 있도록 설정할 수 있습니다.application/config/autoload.php 파일을 여신후, 해당 설정파일을 추가하세요 .
설정 항목 가져오기 Fetching Config Items¶
당신의 설정파일에서 설정항목을 가져오려면 아래 코드를 사용합니다:
$this->config->item('item name');
item name 은 $config 배열의 인덱스입니다. 예를 들어, 언어 설정값을 가져오려면 아래와 같이 합니다:
$lang = $this->config->item('language');
가져오려는 항목이 존재하지 않는다면 함수는 FALSE (boolean)를 리턴합니다.
만약 당신이 직접추가한 설정항목들(config items)을 특정 인덱스에 넣기 위해 $this->config->load 함수의 두 번째 파라미터를 사용하고 있다면 $this->config->item() 함수의 두 번째 파라미터로 그 인덱스를 집어넣음으로써 설정값을 가져올 수 있습니다. 예제:
// Loads a config file named blog_settings.php and assigns it to an index named "blog_settings"
$this->config->load('blog_settings', TRUE);
// Retrieve a config item named site_name contained within the blog_settings array
$site_name = $this->config->item('site_name', 'blog_settings');
// An alternate way to specify the same item:
$blog_config = $this->config->item('blog_settings');
$site_name = $blog_config['site_name'];
환경설정 항목 설정 Setting a Config Item¶
동적으로 환경설정을 하거나, 기존의 설정을 변경하려면 아래의 코드를 사용합니다:
$this->config->set_item('item_name', 'item_value');
item_name 은 설정하고자 하는 $config 배열의 인덱스입니다. item_value 는 설정하고자 하는 값입니다.
여러환경 설정 Environments¶
현재의 환경에 따라 다른 설정 파일을 로드할 수 있습니다.ENVIRONMENT상수가 index.php에 정의되어 있으며, 여러 환경의 취급 섹션(Handling Environments)에서 자세히 설명하고 있습니다.
특정 환경 설정 파일을 작성하려면 application/config/{ENVIRONMENT}/{FILENAME}.php 설정 파일을 만들거나 복사합니다.
예를 들어 프로덕션 환경에서 config.php를 만들려면 다음과 같이합니다:
- application/config/production/ 디렉토리를 만듭니다
- 기존 config.php 위의 디렉토리에 복사합니다
- application/config/production/config.php 를 원하는 대로 설정합니다
ENVIRONMENT 상수를 ‘production’ 으로 설정하면,새로 만든 환경설정이 담긴 config.php가 로드됩니다.
환경 관련 폴더에 다음의 설정 파일을 넣을 수 있습니다:
- 기본 CodeIgniter 설정 파일들
- 사용자 지정 설정 파일들
Note
CodeIgniter는 현재의 환경 설정 파일을 먼저로드하려고 시도합니다. 만약 파일이 존재하지 않으면 전역 설정 파일 (즉, application/config/에있는 파일)을 로드합니다. 그러므로, 모든 환경설정 파일들을 새로만든 디렉토리에 복사할 필요하는 없습니다. 단지 달라지는 부분만 넣어두면 됩니다.
클래스 레퍼런스 Class Reference¶
- class CI_Config¶
- $config
모든 로딩된 환경설정 값의 배열
- $is_loaded
로딩된 환경설정 파일명의 배열
- item($item[, $index=''])¶
인수: - $item (string) – Config item name
- $index (string) – Index name
반환값: Config item value or NULL if not found
반환형: mixed
환경 설정 아이템의 값 얻기.
- set_item($item, $value)¶
인수: - $item (string) – Config item name
- $value (string) – Config item value
반환형: void
환경설정 아이템을 특정한 값으로 지정.
- slash_item($item)¶
인수: - $item (string) – config item name
반환값: Config item value with a trailing forward slash or NULL if not found
반환형: mixed
이 함수는 항목의 끝에 슬래시를 추가하는 것을 제외하면, item() 과 같습니다.
- load([$file = ''[, $use_sections = FALSE[, $fail_gracefully = FALSE]]])¶
인수: - $file (string) – Configuration file name
- $use_sections (bool) – Whether config values shoud be loaded into their own section (index of the main config array)
- $fail_gracefully (bool) – Whether to return FALSE or to display an error message
반환값: TRUE on success, FALSE on failure
반환형: bool
환경설정 파일 로딩하기.
- site_url()¶
반환값: Site URL 반환형: string 이 함수는 사이트 URL 을 반환합니다. 이때 설정파일에 지정한 인덱스( “index” ) 값도 함께 반환합니다.
위 함수는 일반적으로 URL Helper 의 해당 함수를 통해 액세스됩니다.
- base_url()¶
반환값: Base URL 반환형: string 이 함수는 사이트의 URL을 가져옵니다.추가로 스타일 시트 및 이미지의 경로도 가져올 수 있습니다(옵션)
위 함수는 일반적으로 URL Helper 의 해당 함수를 통해 액세스됩니다.
- system_url()¶
반환값: URL pointing at your CI system/ directory 반환형: string 이 함수는 시스템폴더( system folder) url 을 리턴합니다.
Note
이 함수는 DEPRECATED 되었습니다. system/ 디렉토리는 퍼블릭하게 접근되어서는 안됩니다.