환경설정 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를 만들려면 다음과 같이합니다:

  1. application/config/production/ 디렉토리를 만듭니다
  2. 기존 config.php 위의 디렉토리에 복사합니다
  3. 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/ 디렉토리는 퍼블릭하게 접근되어서는 안됩니다.