Interface JObservableInterface
Observable Subject pattern interface for Joomla
To make a class and its inheriting classes observable:
- add: implements JObservableInterface to its class
- 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);
- add the function attachObserver below to your class to add observers using the JObserverUpdater class: public function attachObserver(JObserverInterface $observer) { $this->_observers->attachObserver($observer); }
- in the methods that need to be observed, add, e.g. (name of event, params of event): $this->_observers->update('onBeforeLoad', array($keys, $reset));
Direct known implementers
Indirect known implementers
JTableAsset
,
JTableCategory
,
JTableModule
,
JTableNested
,
JTableSession
,
JTableUcm
,
JTableUpdate
,
JTableUpdatesite
,
JTableUser
,
JTableUsergroup
,
JTableViewlevel
,
JTableContent
,
JTableContenthistory
,
JTableContenttype
,
JTableCorecontent
,
JTableExtension
,
JTableLanguage
,
JTableMenu
,
JTableMenuType
Copyright: Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
License: General Public License version 2 or later; see LICENSE
Since: 3.1.2
Located at joomla/observable/interface.php
Methods summary
public
|
#
attachObserver(
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 |