CodeIgniter, руководство пользователя к версии 1.6.1


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

В 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";

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

$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 (boolean) в файле конфигурации баз данных. Если в коде вы не используете шаблон Active Record, то установка значения параметра в FALSE сэкономит ресурсы при инициализации класса работы с базами данных.

$active_record = TRUE;

Замечание: некоторые классы фреймворка, такие как Sessions, требуют Active Records для обеспечения работы своего функционала.

Пояснение значений:

Замечание: В зависимости от вашей платформы баз данных (MySQL, Postgre и т.д.) не все значения могут быть задействованы в работе. К примеру, если используется SQLite, то нет необходимости указывать имя пользователя и пароль, а именем базы будет физический путь к ней. По большей части, информация приведённая выше подразумевает, что вы используетеg MySQL.