Joomla CMS  3.9.25 (avec JPlatform 13.1 inclus)
Documentation des API du CMS Joomla en version 3.9.25 et du framework Joomla Platform intégré
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 :