\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));
Synopsis
Methods
public
- attachObserver() — Adds an observer to this JObservableInterface instance.