/** * @param EventInterface $event * @return void */ protected function executeEvent(EventInterface $event) { $name = $event->getName(); $method = sprintf('apply%s', ucfirst($name)); if (!method_exists($this, $method)) { throw new \LogicException(sprintf("AR does not contain method '%s' needed for event '%s' to be handled.", $method, $name)); } $this->{$method}($event); }