eventsEmittedOnce[$event])) { $this->eventsEmittedOnce[$event] = true; $this->emit($event, $arguments); } } /** * @param string $event * @param callable $listener * @return $this */ public function on($event, callable $listener) { $this->assertValidEvent($event); $this->evenementUnvalidatedOn($event, $listener); return $this; } protected function assertValidEvent($event) { if (! $this->isValidEvent($event)) { throw new InvalidArgumentException("$event is not a valid event"); } } /** * @param string $event * @return bool */ public function isValidEvent($event) { return true; } }