Memahami Lebih dalam Tentang Helper URL di Codeigniter
78 / 100

Apa itu Helper URL ?

Memahami Lebih dalam Tentang Helper URL di Codeigniter

Memahami Lebih dalam Tentang Helper URL di Codeigniter, Helper URL merupakan helper yang disediakan oleh Codeigniter yang berisi fungsi-fungsi untuk mengolah URL. 1

Advertisements

Menurut saya:

Helper ini merupakan helper yang paling sering digunakan di dalam aplikasi.

Helper URL bisa kita pakai di dalam Controller dan View.

Kalau di dalam model bisa tidak?

Bisa-bisa saja.

Tapi..

Itu bukanlah praktek yang baik.

Karena tugasnya model adalah berurusan dengan data.

Lalu gimana cara menggunakan Helper URL?

Mari kita bahas:

Cara Menggunakan Helper URL

Helper URL dapat kita gunakan setelah melakukan load helper.

Contoh:

$this->load->helper('url');

Load helper bisa kita lakukan di dalam Controller.

🗒 Catatan:

Helper URL di Codeigniter 4 sudah di-load secara otomatis, jadi kita tidak perlu load manual.

Jika ingin di-load otomatis pada Codeigniter 3, maka kita bisa tentukan pada file autoload.php seperti ini:

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

Setelah berhasil di-load, barulah kita bisa menggunakan fungsi-fungsi yang disediakan oleh helper URL.

Apa saja fungsi-fungsinya?

Mari kita bahas satu-per-satu:

Fungsi-fungsi di dalam Helper URL

Helper URL menyediakan beberapa fungsi yang memudahkan kita saat berurusan dengan URL.

1. Fungsi site_url()

Fungsi site URL akan mengembalikan nilai berupa URL berdasarkan konfigurasi base_url dan index_page yang sudah ditentukan di dalam config.

Contoh:

Misalnya konfigurasi di aplikasi kita seperti ini:

$config['base_url'] = 'http://www.petanikode.com/';
$config['index_page'] = 'index.php';

Maka saat kita menggunakan fungsi site_url(), ia akan menghasilkan:

http://www.petanikode.com/index.php

Kapan kita harus menggunakan site_url()?

Gunakanlah fungsi site_url() saat…

Membuat link ke halaman tertentu:

<a href="<?= site_url('login') ?>">Login</a>

Melakukan redirect ke halaman tetentu:

redirect(site_url('login'));

Membuat URL action pada form:

<form action="<?= site_url('login') ?>">

</form>

2. Fungsi base_url()

Fungsi base_url() hampir sama seperti site_url() yang menghasilkan URL berdasarkan kofigurasi base_url. Tetapi, base_url() tidak menyertakan index.php di belakangnya.

Fungsi base_url() berfungsi untuk menghasilkan root URL dari aplikasi.

Misalnya konfigurasi di aplikasi kita seperti ini:

$config['base_url'] = 'http://www.petanikode.com/';
$config['index_page'] = 'index.php';

Maka saat kita menggunakan fungsi base_url(), ia akan menghasilkan:

http://www.petanikode.com/

Kapan kita harus menggunakan base_url()?

Gunakanlah base_url()

Saat membuat link/URL untuk CSS dan Javascript:

<link href="<?= base_url('css/style.css') ?>" />
<script src="<?= base_url('js/app.js') ?>"></script>

Maka akan menghasilkan URL seperti ini:

http://www.petanikode.com/css/style.css
http://www.petanikode.com/js/app.js

Fungsi base_url() biasanya sering kita pakai untuk membuat URL atau link file statis seperti gambar, CSS, javascript, Video, dan file yang diupload.

Apa perbedaan base_url() dengan site_url()?

Berdasarkan contoh yang saya berikan, sepertinya kamu sudah bisa menebak apa bedanya site_url() dengan base_url().

Yap! Perbedaanya terletak pada URL yang di hasilkan.

Coba perhatikan ini:

base_url('css/style.css');
// hasil -> http://www.petanikode.com/css/style.css

site_url('css/style.css');
// hasil -> http://www.petanikode.com/index.php/css/style.css

Pada kasus ini, kita menggunakan base_url() dan site_url() untuk membuat link CSS.

Hasilnya tentu akan berbeda.

Link yang valid adalah link yang menggunakan base_url(). Sedangkan site_url() menambahkan index.php yang akan membuat link file CSS menjadi salah dan pasti tidak akan ditemukan.

Karena itu, untuk membuat link static assets gunakanlah base_url() bukan site_url().

3. Fungsi current_url()

Fungsi ini akan menghasilkan URL yang sedang dibuka.

Misalnya kita sedang membuka URL berikut:

https://www.petanikode.com/tutorial/codeigniter

Maka saat memanggil fungsi current_url(), ia akan menghasilkan URL persis seperti di atas.

⚠️ Peringatan Penting!

Fungsi ini mengadung bug pada Codeigniter 4.1.2, dan bisa diganti dengan fungsi site_url(uri_string())

4. Fungsi uri_string()

Fungsi ini akan menghasilkan segmen URI berdasarkan halaman yang sedang dibuka.

Misalkan kita sedang membuka halaman ini:

http://petanikode.com/blog/comments/123

Maka fungsi uri_string() akan menghasilkan:

blog/comments/123

Fungsi ini biasanya dipakai saat kita ingin membuat breadcrumb.

5. Fungsi index_page()

Fungsi ini akan menghasilkan nilai berdasarkan konfigurasi index_page.

Misalkan kofigurasinya seperti ini:

$config['index_page'] = 'index.php';

Maka fungsi index_page() akan menghasilkan:

index.php

6. Fungsi anchor()

Fungsi ini akan menghasilkan element link. Biasanya digunakan untuk membuat link.

Contoh:

echo anchor('news/local/123', 'My News', 'title="News title"');
// Hasil: <a href="http://example.com/index.php/news/local/123" title="News title">My News</a>

echo anchor('news/local/123', 'My News', array('title' => 'The best news!'));
// Hasil: <a href="http://example.com/index.php/news/local/123" title="The best news!">My News</a>

echo anchor('', 'Click here');
// Hasil: <a href="http://example.com">Click Here</a>

7. Fungsi anchor_popup()

Fungsi ini akan menghasilkan link untuk membuka jendela popup.

Contoh:

$atts = array(
        'width'       => 800,
        'height'      => 600,
        'scrollbars'  => 'yes',
        'status'      => 'yes',
        'resizable'   => 'yes',
        'screenx'     => 0,
        'screeny'     => 0,
        'window_name' => '_blank'
);

echo anchor_popup('news/local/123', 'Click Me!', $atts);

Maka saat link diklik, halaman news/local/123 akan dibuka di jendela pop baru.

8. Fungsi mailto()

Fungsi mailto() akan menghasilkan link untuk alamat email. Saat link diklik, maka akan membuka aplikasi mail client.

Contoh:

echo mailto('me@my-site.com', 'Click Here to Contact Me');

// atau bisa juga:
$attributes = array('title' => 'Mail me');
echo mailto('me@my-site.com', 'Contact Me', $attributes);

9. Fungsi safe_mailto()

Sama seperti mailto() yang menghasilkan link untuk email. Akan tetapi alamat emailnya diproteksi, sehingga akan lebih aman dari bot spam.

Contoh:

echo safe_mailto('me@my-site.com', 'Click Here to Contact Me');

Kalau ini merupakan gabungan dari fungsi no. 6, 7, dan 9. Fungsi auto_link() akan menghasilkan sebuah link dari parameter yang diberikan.

Parameter dapat berupa alamat email atauapun URL.

Contoh:

echo auto_link('http://petanikode.com');
// hasil: <a href="http://petanikode.com">http://petanikode.com</a>

echo auto_link('dian@petanikode.com');
// hasil: <a href="mailto:dian@petanikode.com">dian@petanikode.com</a>

11. Fungsi url_title()

Fungsi ini menghasilkan URL string berdasarkan teks yang diberikan pada parameter.

$title = "What's wrong with CSS?";
$url_title = url_title($title);
// Hasil: Whats-wrong-with-CSS

Biasanya fungsi ini dipakai untuk membuat URL seperti slug.

Fungsi url_title() bisa juga menghasilkan URL dengan underscore.

Contoh:

$title = "What's wrong with CSS?";
$url_title = url_title($title, 'underscore');
// Hasil: Whats_wrong_with_CSS

12. Fungsi prep_url()

Fungsi ini akan menambahkan http:// pada paramter URL yang diberikan.

Contoh:

echo prep_url('example.com');
// hasil http://example.com

13. Fungsi redirect()

Fungsi ini untuk melakukan redirect atau pengalihan ke halaman tertentu.

Contoh penggunaan:

redirect('/login/form/');

// with 301 redirect
redirect('/article/13', 'location', 301);

Fungsi Helper URL di Codeigniter 4

Fungsi Helper URL di Codeigniter 4 tidak jauh berbeda dengan Codeigniter 3. Hanya saja ada beberapa fungsi tambahan.

Berikut ini fungsi-fungsi helper URL yang ditambahkan di Codeigniter 4: 2

1. Fungsi previous_url()

Fungsi previous_url() merupakan fungsi yang menghasilkan alamat URL dari halaman yang dikunjungi sebelumnya.

Misalnya:

Saya membuka halaman ini,

http://contoh.com/about/

Kemudian beralih ke

http://contoh.com/login

Nah, jika kita menjalankan previous_url() di halaman login..

echo previous_url();

Maka akan menghasilkan:

http://contoh.com/about/

2. Fungsi url_to()

Fungsi ini akan menghasilkan URL absolut yang menuju ke sebuah method pada Controller.

Biasanya dipakai untuk membuat link seperti site_url().

Contoh penggunaan:

echo url_to('Home::index');
// hasil: http://contoh.com/

// bisa juga dengan argumen
echo url_to('Post::list', 'home');
// hasil: http://contoh.com/post/list

Contoh penggunaan di dalam View:

<a href="<?= url_to('Auth::login')">Login</a>

3. Fungsi url_is()

Fungsi url_is() berfungsi untuk mengecek URL pada halaman yang sedang dibuka. Fungsi ini akan menghasilkan true jika hasil cek sama dengan yang ditentukan.

Contoh:

if (url_is('admin')) { ... }

Jika kita membuka halaman-halaman berikut

/admin
/admin/
/admin/users
/admin/users/schools/classmates/

Maka fungsi url_is() akan menghasilkan true, karena kita sedang membuka halaman admin.

Biasanya fungsi url_is() digunakan untuk menentukan class active pada menu.

Contoh:

<nav>
	<a href="#" class="<?= url_is('home') ? 'active': '' ?>">Home</a>
  <a href="#" class="<?= url_is('about') ? 'active': '' ?>">About</a>
  <a href="#" class="<?= url_is('contact') ? 'active': '' ?>">Contact</a>
</nav>

4. Fungsi mb_url_title()

Fungsi ini sama seperti url_title() yang berfungsi untuk mengubah teks menajdi URL. Namun, fungsi ini juga mengubah karakter aksen secara otomatis.

Contoh penggunaan:

echo mb_url_title("my resumé");
// hasil: my-resume

Perhatikan, di sana ada huruf aksen é yang otomatis diubah menjadi e.

Advertisements

sumber : https://www.petanikode.com/codeigniter-url/

Advertisements

 254 total views,  4 views today

By admin

Penulis

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *