Prado\TComponent::hasEvent PHP 메소드

hasEvent() 공개 메소드

An event is defined if the class has a method whose name is the event name prefixed with 'on', 'fx', or 'dy'. Every object responds to every 'fx' and 'dy' event as they are in a universally accepted event space. 'on' event must be declared by the object. When enabled, this will loop through all active behaviors for 'on' events defined by the behavior. Note, event name is case-insensitive.
public hasEvent ( $name ) : boolean
리턴 boolean
    public function hasEvent($name)
    {
        if (strncasecmp($name, 'on', 2) === 0 && method_exists($this, $name) || strncasecmp($name, 'fx', 2) === 0 || strncasecmp($name, 'dy', 2) === 0) {
            return true;
        } else {
            if ($this->_m !== null && $this->_behaviorsenabled) {
                foreach ($this->_m->toArray() as $behavior) {
                    if ((!$behavior instanceof IBehavior || $behavior->getEnabled()) && $behavior->hasEvent($name)) {
                        return true;
                    }
                }
            }
        }
        return false;
    }