Prado\TComponent::getEventHandlers PHP 메소드

getEventHandlers() 공개 메소드

Returns the list of attached event handlers for an 'on' or 'fx' event. This function also checks through all the behaviors for 'on' event lists when behaviors are enabled.
public getEventHandlers ( $name ) : TPriorityList
리턴 Prado\Collections\TPriorityList list of attached event handlers for an event
    public function getEventHandlers($name)
    {
        if (strncasecmp($name, 'on', 2) === 0 && method_exists($this, $name)) {
            $name = strtolower($name);
            if (!isset($this->_e[$name])) {
                $this->_e[$name] = new TPriorityList();
            }
            return $this->_e[$name];
        } else {
            if (strncasecmp($name, 'fx', 2) === 0) {
                $name = strtolower($name);
                if (!isset(self::$_ue[$name])) {
                    self::$_ue[$name] = new TPriorityList();
                }
                return self::$_ue[$name];
            } else {
                if ($this->_m !== null && $this->_behaviorsenabled) {
                    foreach ($this->_m->toArray() as $behavior) {
                        if ((!$behavior instanceof IBehavior || $behavior->getEnabled()) && $behavior->hasEvent($name)) {
                            return $behavior->getEventHandlers($name);
                        }
                    }
                }
            }
        }
        throw new TInvalidOperationException('component_event_undefined', get_class($this), $name);
    }