interface JObservableInterface

Observable Subject pattern interface for Joomla

To make a class and its inheriting classes observable: 1) add: implements JObservableInterface to its class

2) at the end of the constructor, add: // Create observer updater and attaches all observers interested by $this class: $this->_observers = new JObserverUpdater($this); JObserverMapper::attachAllObservers($this);

3) add the function attachObserver below to your class to add observers using the JObserverUpdater class: public function attachObserver(JObserverInterface $observer) { $this->_observers->attachObserver($observer); }

4) in the methods that need to be observed, add, e.g. (name of event, params of event): $this->_observers->update('onBeforeLoad', array($keys, $reset));

Methods

void
attachObserver( JObserverInterface $observer)

Adds an observer to this JObservableInterface instance.

Details

void attachObserver( JObserverInterface $observer)

Adds an observer to this JObservableInterface instance.

Ideally, this method should be called fron the constructor of JObserverInterface which should be instanciated by JObserverMapper. The implementation of this function can use JObserverUpdater

Parameters

JObserverInterface $observer The observer to attach to $this observable subject

Return Value

void