Belajar CodeIgniter 3 - Pemanfaatan Helper
Sebelumnya kita telah belajar mengenai pengenalan CI, kemudian yang kedua tentang routing di CI. Langkah selanjutnya adalah pemanfaatan file helper. Helper dalam CI adalah sebuah kumpulan fungsi-fungsi (functions) yang mana fungsi tersebut dapat dipakai atau dipanggil oleh semua model, view, dan controller.
Perbedaan Controller dan Helper
Sebelum memasuki pemanfaatan helper ada baiknya kita mengenal terlebih dahulu helper tersebut dari perbedaannya. Helper dan Controller pada dasarnya memiliki sebuah fungsi yang sama, yakni membuat function yang mana digunakan untuk mengatur segala aktifitas aplikasi CI. Akan tetapi Controller itu merupakan bagian utama yang melaksanakan tugas, baru kemudian helper sebagai pembantu daripada fungsi-fungsi terpisah untuk kategori tertentu (functions in a particular category) yang mana untuk melengkapi kekurangan dari controller tersebut. Cukup membingungkan? :lol:
Intinya helper itu sesuai nama yakni pembantu atau penolong di mana berfungsi untuk melengkapi fungsi controller yang dirasa kurang atau controller tak mampu melakukan hal itu.
Beda hal dengan fungsi (function) yang di tulis dalam controller. Controller menulis fungsi sesuai dengan aturan penulisan class pada PHP OOP (Object Oriented Programming) dimana terdapat public, protected dan private function. Sedangkan pada helper semua fungsi (function) adalah public function, itu artinya dapat dipanggil oleh semua MVC dan helper tidak ditulis dengan format Object Oriented.
Dalam CI public function yang di tulis di Controller dapat dipanggil dari address pada browser. Sebagai contoh misalnya Anda membuat public function dengan nama Blog
.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } public function blog(){ echo "Ini adalah blog"; } }
Maka Anda dapat memanggilnya di browser dengan address https://localhost/ci3/welcome/blog. Karena aturan URL pada CI adalah sebagai berikut:
https://www.domain.com/nama_aplikasi/controller/function/ID</blockquote>
Penjelasan berikut akan dijelaskan pada artikel tentang URL di CI. Jika Anda menginginkan public function yang tidak dapat di panggil oleh browser, maka Anda perlu membuat function di helper. Kira-kira seperti itu kegunaan helper di CI.
Cara Memanfaatkan Helper
Untuk memanfaatkan helper ada 2 metode yakni dipanggil langsung dari controller atau dibuat
autoload
sehingga semua controller tidak perlu memanggil helper kembali.
- Dipanggil langsung dari controller. Anda bisa memanggil helper di
function __construct()
atau difunction index()
. Dengan format pemanggilan sebagai berikut:$this->load->helper('name');Atau jika ingin memanggil banyak helper dalam satu perintah:$this->load->helper( array('helper1', 'helper2', 'helper3') );- Dipanggil dari autoload. Pertama Anda edit pada file
application/config/autoload.php
. Pada bagian$autoload['helper'] = array();
Misalnya:$autoload['helper'] = array('url', 'file');Pemanfaatan Helper Bawaan CI
Terdapat 21 Helper bawaan dari CI yang bisa Anda manfaatan untuk keperluan aplikasi Anda, helper tersebut yakni: Untuk memanggilnya Anda tidak perlu menulis
_helper.php
lagi cukup menulis misalnya$this->load->helper(array('url','form','html'));Membuat Helper Sendiri
Jika helper bawaan dari CI dirasa masih kurang untuk kebutuhan aplikasi Anda, Anda dapat membuat helper buatan Anda sendiri. Cara membuatnya cukup mudah. Anda cukup membuat file di
application/helpers/namanya_helper.php
. Dan letakan fungsi yang mau Anda buat. Contoh://Fungsi menampilkan kata di Browser function tampil($kata){ echo $kata; }Lalu tinggal Anda panggil di controller atau dari
autoload
.Semoga bermanfaat