/** * Execute the action relative an event with the answer provided by the user * * @param map $params => array { * 'id' => String * 'answer' => String * } */ public function handleAnswer(AbstractEventNotification $event) { if ($event->getType() === null) { throw new EyeInvalidArgumentException('Missing or invalid type property'); } if ($event->getAnswer() === null) { throw new EyeInvalidArgumentException('Missing or invalid answer property'); } list($category, $type) = explode('_', $event->getType(), 2); $eventHanlderClass = $type . 'Event'; $eventHandler = new $eventHanlderClass(); $eventHandler->handleAnswer($event); }