Работа с БД: конфигурация базы данных
- Автор mityok on августа 13th, 2008
В CodeIgniter существует файл который позволяет задать парметры подключения к базе данных (имя пользователя, пароль, имя базы данных и т.п.). Файл расположен по пути
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";
Основной причиной использования многомерного массива вместо более простого одномерного является возможность хранить настройки подключения к нескольким базам данных одновременно. К примеру, если вы запускаете несколько вариантов приложения (в разработке, в эксплуатации, в тестировании и т.п.) используя один и тот же экземпляр CodeIgniter, вы можете настроить группу параметров подключения для каждого из вариантов, а затем переключатся между этими группами по мере необходимости. К примеру, для настройки группы параметров "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";
Затем, чтобы глобально задать используемую группу параметров нужно задать переменную в файле конфигурации :
$active_group = "test";
Примечание: имя группы "test" не является обязательным. Вы можете использовать любое имя для группы параметров. Имя "default" используется для группы параметров подключения по умолчанию, но данная группа также может быть переименована под название более близкое по сути вашему проекту.
Active Record
Класс _Active Record_ может быть глобально включен или выключен при помощи переменной $active_record в конфигурации подключения к базе данных. Данная переменная является булевой (принимает значения TRUE/FALSE). Если вы не используете класс Active Record, вы можете установить её в FALSE чтобы приложение потребляло меньше ресурсов при подключении к базе данных.
$active_record = TRUE;
Примечание: некоторые классы CodeIgniter, такие как Session, требуют наличие включенного класса Active Record для реализации доступа к определенной функциональности.
Описание параметров подключения
- hostname - имя сервера БД. Часто это "localhost".
- username - имя пользователя для подключения к БД.
- password - пароль для подключения к БД.
- database - имя базы данных.
- dbdriver - тип базы данных (mysql, postgre, odcc и т.п.). Должно быть указано в нижнем регистре.
- dbprefix - необязательный префикс имени таблиц, который будет автоматически добавлен при использовании класса Active Record. Это позволяет нескольким инсталляциям CodeIgniter использовать одну базу данных.
- pconnect - TRUE/FALSE (boolean) - использовать ли постоянное подключение к БД.
- db_debug - TRUE/FALSE (boolean) - отображать ошибки работы с БД.
- cache_on - TRUE/FALSE (boolean) - использовать кеширование при работе с БД. См. также класс _Кеширования БД_.
- cachedir - абсолютный путь к каталогу на сервере для кеширования запросов к БД.
- char_set - кодировка используемая для работы с БД.
- dbcollat - сравнение символов (перекодировка) используемое при работе с БД.
- port - номер порта для работы с БД. В настоящее время используется только для работы с драйвером Postgre. Чтобы использовать данное значение, понадобится добавить следующую строку в массив конфигурации доступа к БД:
- $db['default']['port'] = 5432;
Примечание: в зависимости от используемой СУБД (MySQL, Postgre, и т.д.) не все параметры конфигурации нужны. К примеру, при использовании SQLite не требуется указывать имя пользователя и пароль, и имя базы данных будет является путем к файлу базы данных. Примеры приведенные на данной странице предполагают использование MySQL.

Отправить комментарий