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.

  1. Dipanggil langsung dari controller. Anda bisa memanggil helper di function __construct() atau di function 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')
    );
  2. 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: ci3-helper-11 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