ManaPHP\Event\Manager::fireEvent PHP Method

fireEvent() public method

$eventsManager->fire('db', $connection);
public fireEvent ( string $event, Component | Di $source, array $data = [] ) : boolean | null
$event string
$source ManaPHP\Component | ManaPHP\Di
$data array
return boolean | null
    public function fireEvent($event, $source, $data = [])
    {
        foreach ($this->_peeks as $handler) {
            if ($handler instanceof \Closure) {
                $handler($source, $data, $event);
            } else {
                $handler[0]->{$handler[1]}($source, $data, $event);
            }
        }
        if (!isset($this->_events[$event])) {
            return null;
        }
        $ret = null;
        /** @noinspection ForeachSourceInspection */
        foreach ($this->_events[$event] as $i => $handler) {
            if ($handler instanceof \Closure) {
                $ret = $handler($source, $data, $event);
            } else {
                $ret = $handler[0]->{$handler[1]}($source, $data, $event);
            }
            if ($ret === false && $i !== count($this->_events[$event]) - 1) {
                throw new ManagerException('`:event` event is canceled  too early', ['event' => $event]);
            }
        }
        return $ret;
    }