Event system digunakan untuk melakukan modifikasi/memanipulasi alur program tanpa harus merubah core program yaitu dengan menggunakan event listener atau event subscriber.
Pada Semart Skeleton terdapat 4 event yang dapat digunakan untuk memanipulasi alur program sebagai berikut:
-
app.request
: Event ini dipicu sesaat setelah controller menerima request dari client jika Anda menggunakan Request Handler -
app.pre_validation
: Event ini dipicu sesaat sebelum validasi dijalankan jika Anda menggunakan Request Handler -
app.pagination
: Event ini dipicu sebelum query untuk pagination dijalankan sehingga Anda dapat memanipulasi query yang akan dijalankan melalui Query Builder -
app.pre_commit
: Event ini dipicu sesaat sebelum data disimpan di database dan dipicu jika Anda menggunakan methodcommit()
atauremove()
pada controller
Disamping itu juga terdapat event lain yang berasal dari Framework Symfony yang dapat dibaca pada link berikut.