Podręcznik użytkownika CodeIgniter wersja 2.2.1


Konfiguracja bazy danych

CodeIgniter posiada plik konfiguracyjny, który pozwala na przechowywanie danych połączenia z bazą danych (nazwa użytkownika, hasło, nazwa bazy danych, itp). Lokalizacja pliku jest następująca application/config/database.php. Możesz również ustawić specyficzne właściwości dla danych środowisk przez ustawienie w pliku database.php odpowiednich nazw zmiennych.

Wartości konfiguracyjne ustawiane są w wielowymiarowej tablicy:

$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;

Powodem wykorzystania wielowymiarowej tablicy, jest możliwość przechowywania różnych wartości dla różnych zestawów konfiguracyjnych. Jeżeli posiadasz wiele środowisk (developerskie, produkcyjne, testwe, itp.) pracujących na jednej instalacji, możesz ustawić grupę połączeń dla każdego środowiska. Np. dla środowiska testowego konfiguracja może wyglądać tak:

$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;

Wtedy, aby system używał tej grupy globalnie, powinieneś ustawić tą zmienną w pliku konfiguracyjnym:

$active_group = "test";

Uwaga: Nazwa "test" jest oczywiście przykładowa. Możesz użyć jakiejkolwiek nazwy. Domyślnie używamy słowa "default" dla głównego połączenia, ale ta nazwa też może zostać zmieniona na taką, która jest bardziej odpowiednia dla Twojego projektu.

Active Record

Klasa Active Record jest globalnie włączana lub wyłączana poprzez ustawienie zmiennej $active_record na TRUE/FALSE (boolean) w pliku konfiguracyjnym bazy danych . Jeśli nie używasz klasy active record, możesz ustawić tę wartość na FALSE, co spowoduje mniejsze zapotrzebowanie na zasoby systemu.

$active_record = TRUE;

Uwaga: Niektóre klasy CodeIgnitera jak np. Sesje, wymagają aby klasa Active Record była włączona, w innym przypadku nie mogą udostępnić niektórych spośród swoich funkcji.

Objaśnienie wartości:

Uwaga: Zależnie od tego jakiej platformy bazodanowej używasz (MySQL, Postgres, itp.) nie wszystkie powyższe wartości będą potrzebne. Dla przykładu, podczas korzystania ze SQLite nie będziesz potrzebował określać nazwy użytkownika oraz hasła, a nazwa bazy danych będzie ścieżką do pliku bazy danych. Informacje przedstawione powyżej zakładają, że używasz bazy MySQL.