JObservableInterface
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
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