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 ..?
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
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
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!