Получите помощь, поддержку и профессиональное общение в Клубе CodeIgniter

CodeIgniter User Guide Version 2.1.3


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

CodeIgniter имеет конфигурационный файл, который позволяет вам сохранять параметры для соединения с вашей базой данных (имя пользователя, пароль, имя базы и тому подобное). Конфигурационный файл находится в application/config/database.php. Вы также можете можете устанавливать параметры соединения с базой данных для специфического окружения, размещаяя 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 (boolean). Если вы не используете класс Active Record, установка переменной в FALSE позволит высвободить некоторые ресурсы, используемые при иниализации и работе класса БД.

$active_record = TRUE;

Примечание: некоторые классы CodeIgniter, такие как Сессии (Sessions Class) требуют включенный Active Record для некоторых функциональностей.

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

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

Поделиться


Переведено в компании Аринт.

Спасибо!

Вы тоже можете оказать помощь проекту! Как это сделать?

Помощь и поддержка

Вы можете задать вопросы и получить ответы и советы от гуру CodeIgniter и веб-разработки: вступайте в Клуб CodeIgniter

Яндекс.Метрика