ea Конфигурация базы данных CodeIgniter 2.0.0 Руководство пользователя

CodeIgniter User Guide Version 2.0.0


Конфигурация базы данных

CodeIgniter имеет конфигурационный файл, который позволяет вам сохранять настройки соединения (username, password, database name и т.д.) Конфигурационный файл находится по пути:

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";
$db['default']['swap_pre'] = "";
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

Смысл использования многомерного массива в том, что это позволяет вам сохранять множественные настройки для нескольких баз. Если, к примеру, вы используете множество окружений (разработка, тестирование, продакшн) в одной инсталяции, вы можете установить группу соединений для каждого, и переключаться между группами по необходимости. Например, установить тестовое окружение вы можете вот так:

$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";
$db['test']['swap_pre'] = "";
$db['test']['autoinit'] = TRUE;
$db['test']['stricton'] = FALSE;

Тогда, для того чтобы глобально указать системе, какую группу настроек использовать, вы просто установите переменную в файле конфигурации:

$active_group = "test";

Примечание: имя "test" выбрано произвольно. Оно может быть любым. По умолчанию мы использовали слово "default" для первичного соединения, но и это может быть переименовано в вашем проекте.

Active Record

Класс Active Record глобально включается или выключается установкой переменной $active_record в TRUE или в FALSE в файле конфигурации базы данных. Если вы не используете класс Active Record, установка в FALSE позволит вам сэкономить некоторые ресурсы при инициализации класса базы данных.

$active_record = TRUE;

Примечание: некоторые классы CodeIgniter, например Sessions, нуждаются в Active Record.

Объяснение значений:

Примечание: В зависимости от используемой платформы БД (MySQL, Postgres и т.п.), не все указанные выше значения необходимы. Например, при использовании SQLite вы не должны передавать имя пользователя или пароль, а имя базы данных указывается просто как путь. Информация выше подразумевает использование MySQL.