Pemrograman

Bahasa

Framework

Peralatan

Info

Mengapa Harus Menggunakan Fungsi base_url() untuk Menyisipkan File Aset?

– 12 August 2016
Ketika saya menjadi tutor di sebuah praktikum web, waktu itu kami mempelajari CodeIgniter. Saya menemukan sedikit kasus, terkait tentang penyisipan file aset. Mengapa harus menggunakan fungsi base_url()? Itulah pertanyaan yang diajukan dari salah satu peserta praktikum.

Kemudian saya menjawabnya dengan memperlihatkan demo. Bagaimana penyisipan yang menggunakan fungsi base_url() dan bagaimana yang tanpa fungsi base_url().

Penyisipan file aset dengan fungsi base_url():
<link rel="stylesheet" href="<?php echo base_url('assets/bootstrap/bootstrap.min.css') ?>" />
atau
<link rel="stylesheet" href="<?php echo base_url() ?>assets/bootstrap/bootstrap.min.css" />

Penyisipan file aset tanpa fungsi base_url():
<link rel="stylesheet" href="assets/bootstrap/bootstrap.min.css" />

Hasil Kedua-duanya bisa, file asetnya berhasil di sisipkan. Tapi, ternyata opini saya salah. Penyisipan file aset tanpa menggunakan fungsi base_url() hanya akan valid pada halaman index (root). Begitu membuka halaman yang lain, alamat URL asetnya berubah. Contoh, saya membuka URL:
http://localhost/proyek/index.php/register
Maka yang akan terjadi adalah, alamat URL asetnya akan berubah menjadi.
http://localhost/proyek/index.php/register/assets/bootstrap/css/bootstrap.min.css
Lihat, file asetnya tidak akan pernah ditemukan. Lalu, bagaimana kalau penyisipannya seperti ini.
<link rel="stylesheet" href="/assets/bootstrap/bootstrap.min.css" />
Perhatikan garis miring (/) di depan assets. Garis miring tersebut menyatakan root dari web. Sementara root dari web yang sedang dikerjakan adalah http://localhost/, maka nanti akan membentuk URL seperti berikut ini:
http://localhost/assets/bootstrap/css/bootstrap.min.css
Cara seperti ini, mungkin akan bekerja bila webnya sudah di-hosting dan diletakan pada root. Namun, saat ini kita sedang bekerja di localhost. Jadi, sebaiknya kita gunakan fungsi base_url() untuk penyisipan file aset agar di localhost dan di server hosting bisa bekerja. Bagaimana menurutmu?