Cara menggunakan helper function python

Banyak pemula yang bingung tentang helper URL, karena itu saya membuat penjelsan lebih detail tentang helper ini.

Seperti apa bedanya

http://www.petanikode.com/index.php
6 dengan
http://www.petanikode.com/index.php
7 dan kapan kita harus memakainya?

Saya sengaja memisah penjelsannya dengan đź“– tutorial utama Codeigniter, agar bisa membahas lebih mendalam.

Baiklah..

Mari kita mulai!

Apa itu Helper URL?

Helper URL merupakan helper yang disediakan oleh Codeigniter yang berisi fungsi-fungsi untuk mengolah URL.

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

http://www.petanikode.com/index.php
8 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 http://www.petanikode.com/index.php7

Fungsi site URL akan mengembalikan nilai berupa URL berdasarkan konfigurasi

<a href="<?= site_url('login') ?>">Login</a>
0 dan
<a href="<?= site_url('login') ?>">Login</a>
1 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

http://www.petanikode.com/index.php
7, ia akan menghasilkan:

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

Kapan kita harus menggunakan

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

Gunakanlah fungsi

http://www.petanikode.com/index.php
7 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 http://www.petanikode.com/index.php6

Fungsi

http://www.petanikode.com/index.php
6 hampir sama seperti
http://www.petanikode.com/index.php
7 yang menghasilkan URL berdasarkan kofigurasi
<a href="<?= site_url('login') ?>">Login</a>
0. Tetapi,
http://www.petanikode.com/index.php
6 tidak menyertakan
redirect(site_url('login'));
0 di belakangnya.

Fungsi

http://www.petanikode.com/index.php
6 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

http://www.petanikode.com/index.php
6, ia akan menghasilkan:

http://www.petanikode.com/

Kapan kita harus menggunakan

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

Gunakanlah

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

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:

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

Fungsi

http://www.petanikode.com/index.php
6 biasanya sering kita pakai untuk membuat URL atau link file statis seperti gambar, CSS, javascript, Video, dan file yang diupload.

Apa perbedaan http://www.petanikode.com/index.php6 dengan http://www.petanikode.com/index.php7?

Berdasarkan contoh yang saya berikan, sepertinya kamu sudah bisa menebak apa bedanya

http://www.petanikode.com/index.php
7 dengan
http://www.petanikode.com/index.php
6.

Yap! Perbedaanya terletak pada URL yang di hasilkan.

Coba perhatikan ini:

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

Pada kasus ini, kita menggunakan

http://www.petanikode.com/index.php
6 dan
http://www.petanikode.com/index.php
7 untuk membuat link CSS.

Hasilnya tentu akan berbeda.

Link yang valid adalah link yang menggunakan

http://www.petanikode.com/index.php
6. Sedangkan
http://www.petanikode.com/index.php
7 menambahkan
redirect(site_url('login'));
0 yang akan membuat link file CSS menjadi salah dan pasti tidak akan ditemukan.

Karena itu, untuk membuat link static assets gunakanlah

http://www.petanikode.com/index.php
6 bukan
http://www.petanikode.com/index.php
7.

3. Fungsi <form action="<?= site_url('login') ?>"> </form>7

Fungsi ini akan menghasilkan URL yang sedang dibuka.

Misalnya kita sedang membuka URL berikut:

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

Maka saat memanggil fungsi

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

</form>
7, ia akan menghasilkan URL persis seperti di atas.

⚠️ Peringatan Penting!

Fungsi ini mengadung bug pada Codeigniter 4.1.2, dan bisa diganti dengan fungsi

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

</form>
9

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

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

Misalkan kita sedang membuka halaman ini:

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

Maka fungsi

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

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

Fungsi ini biasanya dipakai saat kita ingin membuat breadcrumb.

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

Fungsi ini akan menghasilkan nilai berdasarkan konfigurasi

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

Misalkan kofigurasinya seperti ini:

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

Maka fungsi

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

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

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

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

Contoh:

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

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

Fungsi ini akan menghasilkan link untuk membuka jendela popup.

Contoh:

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

Maka saat link diklik, halaman

$config['base_url'] = 'http://www.petanikode.com/';
$config['index_page'] = 'index.php';
7 akan dibuka di jendela pop baru.

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

Fungsi

$config['base_url'] = 'http://www.petanikode.com/';
$config['index_page'] = 'index.php';
8 akan menghasilkan link untuk alamat email. Saat link diklik, maka akan membuka aplikasi mail client.

Contoh:

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

9. Fungsi http://www.petanikode.com/0

Sama seperti

$config['base_url'] = 'http://www.petanikode.com/';
$config['index_page'] = 'index.php';
8 yang menghasilkan link untuk email. Akan tetapi alamat emailnya diproteksi, sehingga akan lebih aman dari bot spam.

Contoh:

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

Kalau ini merupakan gabungan dari fungsi no. 6, 7, dan 9. Fungsi

http://www.petanikode.com/
2 akan menghasilkan sebuah link dari parameter yang diberikan.

Parameter dapat berupa alamat email atauapun URL.

Contoh:

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

11. Fungsi http://www.petanikode.com/3

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

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

Biasanya fungsi ini dipakai untuk membuat URL seperti slug.

Fungsi

http://www.petanikode.com/
3 bisa juga menghasilkan URL dengan underscore.

Contoh:

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

12. Fungsi http://www.petanikode.com/5

Fungsi ini akan menambahkan

http://www.petanikode.com/
6 pada paramter URL yang diberikan.

Contoh:

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

13. Fungsi http://www.petanikode.com/7

Fungsi ini untuk melakukan redirect atau pengalihan ke halaman tertentu.

Contoh penggunaan:

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

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:

1. Fungsi http://www.petanikode.com/8

Fungsi

http://www.petanikode.com/
8 merupakan fungsi yang menghasilkan alamat URL dari halaman yang dikunjungi sebelumnya.

Misalnya:

Saya membuka halaman ini,

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

Kemudian beralih ke

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

Nah, jika kita menjalankan

http://www.petanikode.com/
8 di halaman login..

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

Maka akan menghasilkan:

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

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

Biasanya dipakai untuk membuat link seperti

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

Contoh penggunaan:

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

Contoh penggunaan di dalam View:

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

Fungsi

<link href="<?= base_url('css/style.css') ?>" />
<script src="<?= base_url('js/app.js') ?>"></script>
3 berfungsi untuk mengecek URL pada halaman yang sedang dibuka. Fungsi ini akan menghasilkan
<link href="<?= base_url('css/style.css') ?>" />
<script src="<?= base_url('js/app.js') ?>"></script>
5 jika hasil cek sama dengan yang ditentukan.

Contoh:

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

Jika kita membuka halaman-halaman berikut

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

Maka fungsi

<link href="<?= base_url('css/style.css') ?>" />
<script src="<?= base_url('js/app.js') ?>"></script>
3 akan menghasilkan
<link href="<?= base_url('css/style.css') ?>" />
<script src="<?= base_url('js/app.js') ?>"></script>
5, karena kita sedang membuka halaman admin.

Biasanya fungsi

<link href="<?= base_url('css/style.css') ?>" />
<script src="<?= base_url('js/app.js') ?>"></script>
3 digunakan untuk menentukan class active pada menu.

Contoh:

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

Fungsi ini sama seperti

http://www.petanikode.com/
3 yang berfungsi untuk mengubah teks menajdi URL. Namun, fungsi ini juga mengubah karakter aksen secara otomatis.