Kraken\Event\BaseEventEmitterTrait::times PHP Method

times() public method

See also: EventEmitterInterface::times
public times ( $event, $limit, callable $listener )
$listener callable
    public function times($event, $limit, callable $listener)
    {
        if ($limit === 0) {
            return $this->on($event, $listener);
        }
        if (!isset($this->eventListeners[$event])) {
            $this->eventPointers[$event] = 0;
            $this->eventListeners[$event] = [];
        }
        $pointer =& $this->eventPointers[$event];
        $limit = $limit > 0 ? $limit : 1;
        $eventListener = new EventListener($this, $event, $listener, $this->attachTimesListener($pointer, $event, $limit, $listener));
        $this->eventListeners[$event][$pointer++] = $eventListener;
        return $eventListener;
    }