/
home
/
henzagold
/
server
/
vendor
/
thunderer
/
shortcode
/
src
/
EventContainer
/
File Upload :
llllll
Current File: /home/henzagold/server/vendor/thunderer/shortcode/src/EventContainer/EventContainer.php
<?php namespace Thunder\Shortcode\EventContainer; use Thunder\Shortcode\Events; /** * @author Tomasz Kowalczyk <tomasz@kowalczyk.cc> */ final class EventContainer implements EventContainerInterface { /** @psalm-var array<string,list<callable>> */ private $listeners = array(); public function __construct() { } /** * @param string $event * @param callable $handler * * @return void */ public function addListener($event, $handler) { if(!\in_array($event, Events::getEvents(), true)) { throw new \InvalidArgumentException(sprintf('Unsupported event %s!', $event)); } if(!array_key_exists($event, $this->listeners)) { $this->listeners[$event] = array(); } $this->listeners[$event][] = $handler; } /** * @param string $event * * @psalm-return list<callable> */ public function getListeners($event) { return $this->hasEvent($event) ? $this->listeners[$event] : array(); } /** * @param string $name * * @return bool */ private function hasEvent($name) { return array_key_exists($name, $this->listeners); } }
Copyright ©2k19 -
Hexid
|
Tex7ure