Mengenal method init() dan preDispatch() di Zend Framework

Terkadang bagi yang baru mulai menggunakan Zend Framework (ZF) sering bingung memilih method mana yang paling cocok diantara method init() dan preDispatch() ketika akan digunakan pada permasalahan mereka. Sebenarnya kedua method ini sama-sama berada di dalam action controller dengan tujuan/kegunaannya masing-masing.

Penggunaan init() method

Method init() mempunyai tujuan utama untuk memperluas  action controllers constructor, yaitu suatu proses yang berada di paling akhir ketika instansiasi objek action controller. Karena itu, init() ini sangat cocok sebagai tempat untuk melakukan pengaturan kondisi objek yang berbeda, inisialisasi model yang sederhana, konfigurasi dan sumber-sumber lainnya (tidak disarankan melakukan terlampau banyak logic di sini)

Penggunaan preDispatch() method

Method ini dipanggil sebelum proses dispatching, jadi method ini dipanggil sebelum methode action. Karena itu, kita dapat menggunakannya untuk memodifikasi headers, atau mengatur template situs yang berbeda. Kita dapat juga mengubah permintaan yang ada saat itu dan mengatur dispatch flag yang berbeda (mengabaikan pemrosesan action yang sedang berlangsung saat itu). Contoh : kita akan periksa apakah user  hasIdentity() untuk mengkases beberapa situs yang terproteksi  dengan password. Jika tidak, kita akan mengarahkan user tersebut kembali  ke halaman login. Karena itu tidak heran kalau di method ini akan lebih banyak unsur logic dibandingkan di methode init().

Untuk keterangan lebih detail, Anda bisa mengunjungi situs berikut inihttp://framework.zend.com/manual/en/zend.controller.action.html

Leave a Reply

Your email address will not be published.

Captcha Captcha Reload