Zend Framework 2 : EventManager
Zend Framework 2 menghadirkan sebuah komponen yang sangat membantu dalam proses-proses seperti logging, debugging, serta caching. Komponen ini memungkinkan proses dieksekusi terjadi ketika sebuah fungsi dipanggil secara fleksibel. Tak hanya itu, parameter dari fungsi bisa didapatkan dari object Event yang dilewatkan.
Berikut contohnya :
require_once 'Zend/Loader/AutoloaderFactory.php'; Zend\Loader\AutoloaderFactory::factory(); use Zend\EventManager\EventManager, Zend\EventManager\Event; class Identity { public $events; public function events() { if (!$this->events) { $this->events = new EventManager(__CLASS__); } return $this->events; } public function insert($nama, $alamat) { $params = compact("nama", "alamat"); //insert into table Identity .. //............ //give event afer insert 😉 $this->events()->trigger(__FUNCTION__, $this, $params); } } $identity = new Identity(); $identity->events()->attach('insert', function (Event $e) { $fp = fopen("insert.log", 'a+'); fwrite($fp, "insert data ".$e->getParam('nama')." berhasil pada tanggal : ".date('d-m-Y H:i:s')." \n"); }); $identity->insert('abdul malik ikhsan', 'jalan jakarta');
Referensi :
1. http://mwop.net/slides/2011-10-18-Zf2-Overview/
2. http://akrabat.com/zend-framework-2/an-introduction-to-zendeventmanager/
3. http://packages.zendframework.com/docs/latest/manual/en/zend.event-manager.html
Kalau masalah error begini gimana ya?
Warning: require_once(Zend/Loader.php) [function.require-once]: failed to open stream:
berarti file Zend/Loader.php Ga ada. kemungkinan mas pakai zf1, tulisan saya kali ini buat zf2
Mas, kalo even action pgn sebelum di insert gimana ?
buat aja event yg di trigger sebelum insert, heuheu