Pemrograman

Bahasa

Framework

Peralatan

Info

Apa Perbedaan Fungsi base_url() dengan fungsi site_url() di CodeIgniter?

– 28 May 2016
CodeIgniter - Petani Kode
Fungis base_url() dan site_url() merupakan dua fungsi untuk mengambil URL web pada framework CodeIgniter. Kedua fungsi ini dapat digunakan dengan mengaktifkan helper url terlebih dahulu.

Fungsi base_url()

fungsi base_url() akan menghasilkan sebuah url dasar berdasarkan konfigurasi diisi pada config.php. Misalkan konfigurasinya seperti ini.
$config['base_url'] = 'http://petanikode.com/';
Maka, ketika kita menggunakan fungsi base_url(), akan mendapatkan nilai:
http://petanikode.com/

Fungsi site_url()

Seperti namanya, fungsi site_url() akan menghasilkan URL atau alamat web beserta file index-nya. Misalkan konfigurasi webnya seperti berikut ini.
$config['base_url'] = 'http://petanikode.com/';
$config['index_page'] = 'index.php';
Maka, ketika kita menggunakan fungsi site_url(), akan mendapatkan nilai:
http://petanikode.com/index.php

Kapan base_url() dan site_url() dipakai?

Sesui hasil yang didapatkan dari fungsi tersebut, anda bisa menebak sendiri kapan waktu yang tepat menggunakan kedua fungsi tersebut. Fungsi base_url() biasanya digunakan untuk membuat URL dari resource yang berada di direktori awal (root) web. Contohnya, sering dipakai untuk membuat URL assets seperti berikut ini.
Baca juga: Mengapa Harus Menggunakan Fungsi base_url() untuk Menyisipkan File Aset?

Sementara itu, fungsi site_url() sering digunakan untuk membuat URL ke Controller atau dengan kata lain, fungsi ini dipakai untuk mengakses Controller tertentu. Contoh penggunaanya sebagai berikut.

Contoh lain penggunaan fungsi site_url() untuk mengalihkan (redirect).

Kesimpulan

Fungsi base_url() dan fungsi site_url() adalah fungsi bantuan dari url helper. Fungsi ini digunakan untk mengambil URL dasar dan URL web. fungsi base_url() digunakan untuk membangun url untuk mengakses resource yang barada di direktori root web. Sedangkan fungsi site_url() digunakan untuk mengakses Controller tertentu.

Kurang-lebih, begitulah kesimpulan dari saya. Mungkin ada yang kurang tepat, silahkan ditambahakan.