public function fire($data) { if (!isset($data['event']) || empty($data['event'])) { error_log('Invoked event call without providing event name'); return false; } $event = $data['event']; $subject = isset($data['subject']) ? $data['subject'] : null; $params = isset($data['params']) ? $data['params'] : null; if (BF_DEBUG) { $this->di['logger']->debug($event . ': ' . var_export($params, 1)); } $e = new Fuse_Event($subject, $event, $params); $e->setDi($this->di); $disp = new Fuse_EventDispatcher(); $this->_connectDatabaseHooks($disp, $e->getName()); $disp->notify($e); return $e->getReturnValue(); }