0

Menggunakan middleware di Codeigniter 3?

Middleware di Codeigniter 3?

—

Mungkin tutorial ini sudah usang ketinggalan zaman, karena sudah release codeigniter 4. Tapi buat yang belum hijrah ke CI 4, masih menggunakan CI 3 mungkin kalian bertanya-tanya bagaimana cara menggunakan middleware di CI 3 ..?

hook di codeigniter 3

Sebenarnya di CI 3 tidak ada yang namanya middleware, tapi ada yang mirip seperti middleware. Namanya Hook. Dengan hook kita bisa meng-intercept/mencegat request sebelum masuk ke controller.

Cara mengaktifkan hook

Sebelum menggunakan hook, hook harus diaktifkan terlebih dahulu.

Buka file config/config.php, set enable_hooks menjadi TRUE

middleware di Codeigniter 3

Buat script hook

Masih di folder config, buka file hooks.php, lalu kita buat contoh hooks:

$hook["pre_system"] = function() {
    echo "ini hooks";
};

Penjelasan:

  • pre_system merupakan hook points yang sudah disediakan CI. Ada beberapa jenis hook points, nanti saya akan jelaskan distep berikutnya. Intinya dengan pre_system, hook akan dijalankan diawal saat eksekusi sistem CI.
  • kita buat sebuah function() yang bisa diisi codingan yang kita inginkan.


Misal saya punya controller User, dengan function index()

class User extends CI_Controller {
    public function index() {
        echo "<br>";
        echo "ini user.index";
    }
}

Kemudian saya jalankan dibrowser, maka yang pertama kali dieksekusi adalah hooks.php, baru kemudian User.php

middleware di Codeigniter 3

Hook Points

Ada beberapa hook points. Saya akan jelaskan beberapa saja, yang sering saya pakai:

  • pre_system = Dipanggil sangat awal ketika sistem CI dieksekusi. Cuma class benchmark dan hooks yang diload pada saat ini
  • pre_controller = Dipanggil sebelum masuk ke controller
  • pre_controller_constructor = Dipanggil setelah constructor controller diload
  • post_controller = Dipanggil saat semua isi controller di eksekusi
  • dll


Demikian tutorial singkatnya Middleware di Codeigniter 3?. Untuk lebih jelasnya bisa langsung ke dokumentasi CI 3. Sudah lengkap disana penjelasannya https://codeigniter.com/userguide3/general/hooks.html


Semoga bermanfaat!

Ambar Hasbiyatmoko

Hello, I'm web developer. Passionate about programming, web server, and networking.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.