FOF30\Event\Dispatcher::attach PHP Method

attach() public method

Attaches an observer to the object
public attach ( Observer $observer ) : Dispatcher
$observer Observer The observer to attach
return Dispatcher Ourselves, for chaining
    public function attach(Observer $observer)
    {
        $className = get_class($observer);
        // Make sure this observer is not already registered
        if (isset($this->observers[$className])) {
            return $this;
        }
        // Attach observer
        $this->observers[$className] = $observer;
        // Register the observable events
        $events = $observer->getObservableEvents();
        foreach ($events as $event) {
            $event = strtolower($event);
            if (!isset($this->events[$event])) {
                $this->events[$event] = array($className);
            } else {
                $this->events[$event][] = $className;
            }
        }
        return $this;
    }