Setelah kemarin membahas stuktur folder dalam CodeIgniter beserta fungsi-fungsinya dalam artikel ini akan membahas tentang konfigurasi dalam CodeIgniter. CodeIgniter sebenarnya dapat berjalan dengan konfigurasi default yang telah diatur oleh CodeIgniter. Akan tetapi hal ini akan berpengaruh jika akan dilakukan pengembangan lebih lanjut. Sebagai contoh konfigurasi yang sering diubah adalah konfigurasi pada file autoload.php, config.php, database.php, dan routes.php yang terletak pada folder application/config. Namun, pada artikel ini hanya akan membahas autoload, config, dan database saja karena untuk routes akan dibahas secara terpisah. Jika belum melakukan installasi CodeIgniter dapat dibaca dalam artikel CodeIgniter 3 Part 2: Cara Install CodeIgniter untuk Pemula.

Konfigurasi autoload.php

Kegunaan dari konfigurasi autoload adalah menentukan source apa saja yang akan dipakai yang telah disediakan oleh Codeigniter seperti library, helper, model, dll yang akan diload secara otomatis tanpa perlu diload manual pada Controller. Sebagai contoh akan dilakukan konfigurasi untuk menggunakan beberapa library dan helper.

Konfigurasi default dari Codeigniter autoload[‘libraries’] dan autoload [‘helper’] biasanya dalam keadaan kosong seperti code dibawah ini.

$autoload['libraries'] = array();
$autoload['helper'] = array();

Dalam contoh kali ini akan menggunakan library database, session, dan form_validation serta menggunakan helper url dan file. Maka untuk memanggilnya dapat dilihat dibawah ini.

$autoload['libraries'] = array('database', 'session', 'form_validation');
$autoload['helper'] = array('url', 'file', 'form');

Agar lebih mudah untuk menemukan $autoload[‘libraries’] dan $autoload[‘helper’] dapat langsung ke baris 61 untuk menemukan $autoload[‘libraries’] dan baris 92 untuk menemukan $autoload[‘helper’].

Konfigurasi config.php

Kegunaan dari konfigurasi config.php adalah dapat mengatur base url dari CodeIgniter, mengatur session dan cookie, enable XSS filtering dan CSRF protection, dll.

Untuk konfigurasi default dari base url biasanya dalam keadaan kosong seperti code dibawah ini.

$config['base_url'] = '';

Untuk konfigurasi base url diatas disesuaikan dengan nama project yang sedang dikerjakan atau nama domain project tersebut. Sebagai contoh penulisan jika disesuaikan dengan nama project dengan nama project “latihan” maka akan seperti dibawah ini.

$config['base_url'] = 'http://localhost/latihan';

Dan jika base url menggunakan nama domain dengan nama domain bayusapp.com maka akan seperti dibawah ini.

$config['base_url'] = 'https://bayusapp.com/';

Untuk membuat dinamis konfigurasi base url agar tidak melakukan konfigurasi ulang pada saat perubahan nama project atau telah dihosting maka dapat melakukan konfigurasi dynamic base url yang ada di artikel Membuat Dynamic Base URL di CodeIgniter serta cara menghilangkan index.php pada url dapat dilihat dalam artikel Cara Menghilangkan index.php di CodeIgniter.

Konfigurasi dalam file config.php yang biasa digunakan yaitu session yang merupakan data yang disimpan ke dalam suatu server yang menyimpan aplikasi tersebut yang dapat digunakan secara global yang datanya bersifat spesifik yang merujuk kepada user/client yang mengaksesnya. Dalam file config.php konfigurasi untuk session dapat dilihat pada line ke 380 hingga 386 dimana dalam line tersebut berisi penamaan dari session dalam Codeigniter, waktu kadaluarsa dari session, dll. Untuk konfigurasi default dari CodeIgniter dapat dilihat pada dibawah ini.

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;

Namun, admin biasanya tidak terlalu banyak mengubah konfigurasi tersebut dan hanya mengubah waktu penggunaan pada session tersebut. Sebagai contoh waktu dari penggunaan session adalah selama 7 jam dan dalam penulisannya dikonversi ke dalam satuan detik yang berarti nanti nilai 7200 yang merupakan nilai default dari $config[‘sess_expiration’] diubah menjadi 25200. Dan cara penulisannya dapat dilihat dibawah ini.

$config['sess_expiration'] = 25200;

Konfigurasi database.php

Konfigurasi ini wajib diubah jika menggunakan database baik menggunakan MySQL, PostgreSQL, dll yang berfungsi sebagai media penyimpanan data dan mengambil data yang tersimpan didalamnya. Dalam konfigurasi ini sangat mudah dan cukup disesuaikan dengan database yang sedang digunakan. Dalam konfigurasi ini yang wajib diubah adalah pada bagian hostname, username, password, database, dan dbdriver. Secara default value yang terisi hanya pada bagian hostname yang bernilai localhost dan dbdriver yang memiliki nilai mysqli. Sebagai contoh disini akan menggunakan database MySQL dengan database “latihan” dengan konfigurasi pada MySQL memiliki username “root” dengan password “variable123” maka konfigurasinya dapat dilihat pada dibawah ini.

'hostname' => 'localhost',
'username' => 'root',
'password' => 'variable123',
'database' => 'latihan',
'dbdriver' => 'mysqli'

Jika pada MySQL yang digunakan tidak memiliki password maka cukup dikosongkan saja pada bagian password. Dan untuk hostname jika sudah dihosting biasanya tidak diubah atau masih tetap dengan value localhost serta untuk username dan password juga disesuaikan dengan konfigurasi pada hosting yang digunakan.

Cukup sekian pembahasan dari konfigurasi dasar pada CodeIgniter 3 yang perlu diubah dan sampai jumpa di artikel selanjutnya.

Happy Coding ^-^