Joomla CMS  3.10.11 (avec JPlatform 13.1 inclus)
Documentation des API du CMS Joomla en version 3.10.11 et du framework Joomla Platform intégré
Tout Structures de données Espaces de nommage Fichiers Fonctions Variables Pages
Référence de l'interface JObserverInterface
+ Graphe d'héritage de JObserverInterface:

Fonctions membres publiques statiques

static createObserver (JObservableInterface $observableObject, $params=array())
 

Description détaillée

Observer pattern interface for Joomla

A class that wants to observe another class must:

1) Add: implements JObserverInterface to its class

2) Implement a constructor, that can look like this: public function __construct(JObservableInterface $observableObject) { $observableObject->attachObserver($this); $this->observableObject = $observableObject; }

3) and must implement the instantiator function createObserver() below, e.g. as follows: public static function createObserver(JObservableInterface $observableObject, $params = array()) { $observer = new self($observableObject); $observer->... = $params['...']; ... return $observer; }

4) Then add functions corresponding to the events to be observed, E.g. to respond to event: $this->_observers->update('onBeforeLoad', array($keys, $reset)); following function is needed in the observer: public function onBeforeLoad($keys, $reset) { ... }

5) Finally, the binding is made outside the observable and observer classes, using: JObserverMapper::addObserverClassToClass('ObserverClassname', 'ObservableClassname', array('paramName' => 'paramValue')); where the last array will be provided to the observer instanciator function createObserver.

Depuis
3.1.2

Documentation des fonctions membres

◆ createObserver()

static createObserver ( JObservableInterface  $observableObject,
  $params = array() 
)
static

Creates the associated observer instance and attaches it to the $observableObject

Paramètres
JObservableInterface$observableObjectThe observable subject object
array$paramsParams for this observer
Renvoie
JObserverInterface
Depuis
3.1.2

La documentation de cette interface a été générée à partir du fichier suivant :