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.