2.1.1 Ekstensi-ekstensi untuk Controller
Komponen adalah sebuah class bantu dalam logik controller. Jika Anda mempunyai beberapa logik yang ingin digunakan juga oleh controller (atau aplikasi) lain, maka penggunaan komponen sangat tepat. Misal, class inti dari EmailComponent membuat tugas menulis dan mengirim email menjadi lebih mudah. Daripada menulis sebuah method dalam satu controller untuk mengeksekusi logik ini, Anda dapat mempaket logik tersebut sehingga dapat digunakan secara bersama.
Controller juga bisa dipadankan dengan callback. Callback dapat digunakan saat Anda ingin menyisipkan beberapa logik diantara operasi inti CakePHP. Callback yang tersedia diantaranya:
- beforeFilter(), dieksekusi sebelum logik action controller
- beforeRender(), dieksekusi setelah logik controller, tapi sebelum view dirender
- afterFilter(), dieksekusi setelah semua logik controller, termasuk render view. Mungkin tidak ada perbedaan antara afterRender() dan afterFilter() kecuali Anda secara manual membuat prmanggilan ke render() di action controller dan memasukkan beberapa logik setelah pemanggilan tersebut.
