Dużo osób na blog trafia szukając czegoś o tym frameworku więc będę o nim pisał – póki co zajmuję się nim dość intensywnie jak na posiadaną ilość czasu.
Zacząć trzeba od podstaw czyli konfiguracji – bez tego nawet porządne “Hello World!” nie zadziała ;). Pliki konfiguracyjne znajdziemy w system/application/config. Na pierwszy ogień otwieramy plik database.php. Oto co tam ujrzymy:
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "my_db";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['active_r'] = TRUE;
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
Myślę, że pierwszych pięciu elementów tablicy tłumaczyć nie trzeba. Natomiast kolejne:
- active_r – czy ładować klasę Active Records
- pconnect – czy nawiązane połączeniu ma być stałe ( persistent connection )
- db_debug – czy błędy bazy danych mają być wyświetlane ( przydatne w czasie pisania aplikacji )
- cache_on – czy włączyć cache’owanie zapytań do bazy
- cachedir – katalog na scache’owane zapytania
Zaglądamy do pliku config.php i właściwie najważniejsza rzecz jaką musimy ustawić to base_url, u mnie wygląda to tak:
$config['base_url'] = "http://localhost/~masterix/CI/";
Reszta z tego pliku dla chętnych. Następny plik jaki weźmiemy “na tapetę” to autoload.php. Interesują nas tutaj trzy klucze w tablicy konfiguracyjnej: libraries, helpers, plugins. Przypisujemy im tablice z nazwami bibliotek, pomocników i wtyczek, które chcemy mieć automatycznie ładowane. U mnie wygląda to tak:
$autoload['libraries'] = array( 'database', 'validation' );
$autoload['helper'] = array( 'url', 'form' );
$autoload['plugin'] = array();
Biblioteka bazy danych jest oczywista, validation ułatwia zdecydowanie walidację wszelkich formularzy. Pomocnicy url i form również są przydatni. Ten pierwszy pomaga manipulować adresami URI w serwisie a drugi w budowaniu formularzy. Domyślnie nie dołączam żadnych pluginów.
To by było tyle podstawowej konfiguracji. Wgłębić się w to jest dość łatwo – pliki konfiguracyjne są bardzo dobrze okomentowane.