/** * Dispatches an event to all registered listeners. * * @param string $name * @param Metadata $metadata * @param array $arguments * @return bool */ public function trigger($name, Metadata $metadata, array $arguments) { $this->events->trigger("{$metadata->getEventPrefix()}.{$name}", $arguments); }
/** * Subscribes model lifecycle callbacks. * * @param Metadata $metadata */ protected function subscribe(Metadata $metadata) { foreach ($metadata->getEvents() as $event => $methods) { foreach ($methods as $method) { $this->events->on($metadata->getEventPrefix() . '.' . $event, [$metadata->getClass(), $method]); } } }