helper dan library adalah ke-2 hal yang berbeda katanya namun berfungsi sama, yaitu sama-sama digunakan untuk membantu membangun aplikasi agar lebih cepat.
di CI 4 sudah tersedia helper dan library yang siap pakai
selain itu kalian juga bisa membuat helper dan library sendiri jika dirasa helper dan library bawaan CI tidak bisa menghandle proses yang dibutuhkan pada aplikasi kalian nantinya
Helper
helper kalau diterjemahkan artinya membantu
maka kode helper ini nantinya akan membantu kalian dalam membuat aplikasi yang sedang dikembangkan
di CI 4 tersedia 13 helper yang bisa kalian gunakan, diantaranya
- Array
- Cookie
- Date
- Filesystem
- Form
- HTML
- Inflector
- Number
- Security
- Test
- Text
- URL
- XML
Cara Memanggil helper
karena CI 4 tidak akan meload helper yang ada secara otomatis dengan tujuan agar performa kode lebih cepat dieksekusi
maka untuk menggunakan helper kalian diharuskan untuk memanggilnya terlebih dahulu
terdapat 3 cara yang bisa digunakan untuk memanggil helper ini yaitu
Meloadnya Secara Global di BaseController.phpcara pertama ini bagus digunakan jika kalian ingin helper diload secara keseluruhan
mengingat BaseController merupakan class Parent utama dari controller yang akan kita buat maka nantinya setiap kita mengakses controller pasti akan mengakses parentnya terlebih dahulu
untuk meloadnya sendiri cukup mudah kalian hanya perlu mengisi property $helpers
dengan helper yang akan kalian load, misalnya
protected $helpers = [
'url',
'array',
];
Meloadnya Secara Global di Controller cara yang kedua yaitu dengan meloadnya dicontroller yang akan kalian buat
jika kalian hanya ingin meload helper dicontroller tertentu saja tanpa keseluruhan maka cara ini bisa digunakan
untuk meloadnya tidak jauh berbeda dengan meload di BaseController.php, yaitu kalian hanya perlu membuat property $helpers
kemudian dilanjut dengan mengisi property $helpers tersebut dengan helper yang akan dipanggil, misalnya
<?php
namespace App\Controllers;
use App\Controllers\BaseController;
class Blog extends BaseController
{
protected $helpers = [
'url',
'array',
];
public function index()
{
echo 'berikut konten gratis yang kami sediakan';
}
}
Meloadnya didalam Method cara yang terakhir yaitu dengan membuatnya lebih spesifik lagi yaitu didalam method
cara memanggilnya tentunya berbeda dengan ke-2 cara diatas yaitu dengan menggunakan function helper()
berikut contoh pemanggilannya
<?php
namespace App\Controllers;
use App\Controllers\BaseController;
class Blog extends BaseController
{
public function index()
{
helper('url');
helper('array');
}
}
Cara Membuat Helper Sendiri
untuk membuat helper sendiri CI 4 suda menyiapkan folder khusus kode helper yang terletak di directory 'app/Helpers/'
Aturan penamaan file helpersebelum membuat helper sendiri, ada aturan khusus yang harus diterapkan saat memberi nama file helper yang akan kalian buat nantinya
kalian harus menuliskan filenya dengan diakhiri kata '_helper'
misalnya kalau saya ingin membuat helper dateid maka harus memberi nama file tersebut dengan 'dateid_helper.php'
Catatan : sebaiknya selalu gunakan nama file helper dengan huruf kecil saja agar saat pemanggilannya tidak ada error, karena biasanya saat diupload kehosting terdapat case sensitive yang membuat salah penulisan besar kecil huruf membuat kode kalian error (saya mengalaminya)
Praktek Menggunakan Helper
praktek helper kali ini akan memiliki kriteria kode
- Membuat 1 Controller
- Membuat Helper Sendiri
- Menggunakan Helper Sendiri dan Bawaan CI
Buat Controller menggunakan spark dengan mengetikan perintah
php spark make:controller belajar
membuat route kecontroller belajar
edit config file routes yang terletak di 'app/Config/Routes.php' dengan menambahkan kode
$routes->get('belajar', 'Belajar::helper');
dilanjut membuat file helper manual, yaitu membuat file baru dengan nama 'belajar_helper.php' didalam directory 'app/Helpers/'
kemmudian isi file helper tersebut dengan kode dibawah ini
<?php
function belajar($data)
{
return "tulisan ini dipanggil melalui helper, berikut data yang dikirimkan <b>".$data."</b><br/>";
}
Langkah 4 langkah selanjutnya mengedit kode controller untuk menggunakan helpernya
ganti kode file Controller Belajar yang sebelumnya dibuat, terletak di 'app/Controllers/Belajar.php' dengan kode dibawah ini
<?php
namespace App\Controllers;
use App\Controllers\BaseController;
class Belajar extends BaseController
{
public function helper()
{
// menggunakan helper buatan sendiri
helper('belajar');
// menggunakan helper bawaan CI 4
helper('number');
$amount = number_to_currency(10000000, 'IDR', 'id_ID', 2);
echo belajar($amount);
}
}
Langkah 5 sekarang ujicoba hasil belajar helpernya dengan menjalankan web server melalui spark
php spark serve
buka browser dan mengunjungi URL http://localhost:8080/belajar
maka akan tampil kode yang dihasilkan dari helper seperti gambar dibawah ini
Library
library artinya perpustakaan
di CI 4 library digunakan sebagai menempatkan kode yang sifatnya lebih kompleks
jadi disini ada perbedaan antara helper dan library, yaitu library kodenya bisa banyak sedangkan helper kodenya hanya sedikit
selain itu penulisan helper dan library juga berbeda, library menggunakan class sedangkan helper menggunakan function
maka dari itu library penggunaannya bisa diperluas dengan adanya method-method didalamnya
di CI 4 terdapat banyak sekali library yang bisa kalian gunakan, diantaranya yaitu
- Caching Driver
- Cookies
- CURLRequest Class
- Email Class
- Encryption Service
- Working with Files
- File Collections
- Honeypot Class
- Image Manipulation Class
- Pagination
- Publisher
- Security
- Session Library
- Throttler
- Times and Dates
- Typography
- Working with Uploaded Files
- Working with URIs
- User Agent Class
- Validation
Cara Memanggil Library
karena library biasanya dibuat berbentuk object class maka pemanggilannya harus dengan cara memanggil classnya yaitu
// memanggil library typography
$library_typo = \Config\Services::typography();
// memanggil library cache
$cache = \Config\Services::cache();
// memanggil library curl
$client = \Config\Services::curlrequest();
// memanggil libray menggunakan function service
$library_typo = service('typography');
// memanggil library cache
$library_typo = service('cache');
// memanggil library session
$library_typo = service('session');
Catatan : di CI 4 ada library yang bisa digunakan tanpa memanggil classnya terlebih dahulu, jadi penggunaannya seperti memanggil function. misalnya library cache dan session bisa dipanggil langsung dengan function cache() dan session()
Cara Membuat Library Sendiri
untuk membuat / menambahkan library ke CI 4 caranya cukup mudah, yaitu dengan membuatnya didalam folder yang sudah disediakan CI 4 terletak di 'app/Libraries'
nantinya folder libraries ini bisa kalian gunakan untuk menaruh kode-kode yang penggunaannya kompleks
Kesimpulan
seperti itulah cara penggunaan helper dan library di CI 4, perbedaan yang mencolok dari helper dan library juga bisa kalian bedakan dengan mudah