CodeIgniter User Guide Version 1.7.2


데이터베이스 설정 Database Configuration

CodeIgniter 는 데이터베이스 설정(username, password, 데이터베이스 이름 등)을 저장하는 설정파일을 제공합니다.설정파일은 아래의 위치에 있습니다:

application/config/database.php

설정은 다차원배열로 아래예제 처럼 저장됩니다.:

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

단순한배열대신 다차원배열을 사용하는 이유는 선택적으로 여러개의 커넥션셋을 쉽게 사용하도록 하기 위해서 입니다.예를 들어 ,당신이 하나의 CoideIgniter 설치로 개발,라이브,테스트 등 여러가지 환경에서 작업한다고 했을때 ,여러개의 커넥션셋을 설정해 둔 다음 각 환경에 맞는 커넥션셋으로 각각 전환할 수 있습니다. 예를들어 "test" 환경에 대한 정보를 다음과 같이 설정합니다.:

$db['test']['hostname'] = "localhost";
$db['test']['username'] = "root";
$db['test']['password'] = "";
$db['test']['database'] = "database_name";
$db['test']['dbdriver'] = "mysql";
$db['test']['dbprefix'] = "";
$db['test']['pconnect'] = TRUE;
$db['test']['db_debug'] = FALSE;
$db['test']['cache_on'] = FALSE;
$db['test']['cachedir'] = "";
$db['test']['char_set'] = "utf8";
$db['test']['dbcollat'] = "utf8_general_ci";

그런다음, 설정(config)파일에서 사용하고자는 커넥션셋을 아래변수에 지정해줌으로써 글로벌하게 사용할 수 있게됩니다.:

$active_group = "test";

Note: "test" 는 당신이 원하는데로 지정할 수 있는 이름입니다. 원하는 어떤것이라도 사용하실 수 있습니다. 기본적으로 CodeIgniter 는 "defalut"를 사용합니다.그러나, 그것또한 당신의 프로젝트에 좀더 적합한 이름으로 변경 가능합니다..

액티브 레코드 Active Record

액티브레코드 클래스 는 데이터베이스 설정파일에 있는$active_record 변수를 TRUE혹은 FALSE 로 설정하므로써 글로벌하게 활성혹은 비활성화 시킬수 있습니다.만약 액티브레코드 사용을 FALSE 로 설정하시면 데이터베이스 클래스가 초기화될때 더 적은 시스템리소스를 사용하게 될것입니다.

$active_record = TRUE;

Note: 세션(Sessions) 클래스등 몇몇 클래스는 액티브 레코드가 활성화된 상태에서만 동작합니다.

값 설명(Explanation of Values):

Note: 사용하는 데이터베이스 종류에 따라 (MySQL, Postgres, etc.) 꼭 필요한 설정값들이 달라집니다.(몇몇 설정값은 필요없을수도 있음)예를 들어 ,SQLite를 사용하면 username 이나 password는 필요없습니다.그리고 database name은 데이터베이스 파일의 경로가 될것입니다.위에 기술된 정보는 당신이 MySQL을 사용하고있다고 가정합니다..