API du gestionnaire d'événement : Différence entre versions

De OviWiki
Aller à : navigation, rechercher
 
Ligne 3 : Ligne 3 :
 
* id
 
* id
 
* event_class_name
 
* event_class_name
* addon_name
 
 
* function_name
 
* function_name
 
* require_file
 
* require_file
 +
* addon_name
  
  
Ligne 23 : Ligne 23 :
 
bab_removeEventListener('event_class_name', 'function_name', 'require_file', 'addon_name');
 
bab_removeEventListener('event_class_name', 'function_name', 'require_file', 'addon_name');
 
</pre>
 
</pre>
 +
 +
 +
La fonction inscrite dans la colonne function_name sera délarée dans le fichier 'require_file' comme ceci :
 +
 +
<pre>
 +
function function_name(&$event) {
 +
 +
}
 +
</pre>
 +
  
  
 
== Appel d'événement ==
 
== Appel d'événement ==
 +
 +
 +
Lors de l'appel d'un événement, toutes les fonctions enregistrées dans la tables des "listener" qui ont pour event_class_name, le nom de l'objet ou le nom d'un des parentsde l'objet sont appelés, pour chaque enregistrement on effectue les actions suivantes :
 +
 +
# si 'addon_name' est un nom de module valide, le contexte du module est créé
 +
# le nom du fichier contenu dans 'require_file' est inclu avec la fonction require_once
 +
# la fonction 'function_name' est appelée avec un seul paramètre qui est l'instance de l'événement
  
 
<pre>
 
<pre>
bab_fireEvent('event_class_name');
+
 
 +
class bab_onUserdelete extends bab_event {
 +
 
 +
}
 +
 
 +
$event_obj = new bab_onUserdelete();
 +
 
 +
bab_fireEvent($event_obj);
 +
 
 
</pre>
 
</pre>

Version du 12 décembre 2006 à 15:30

table des listener

  • id
  • event_class_name
  • function_name
  • require_file
  • addon_name


class_object est le nom d'une classe déclarée dans le ficher spécifié dans la colonne require_file, il est hérité de la classe bab_event

bab_event est définie dans addonapi.php

Ajouter un listener :

bab_addEventListener('event_class_name', 'function_name', 'require_file', 'addon_name');

Enlever un listener :

bab_removeEventListener('event_class_name', 'function_name', 'require_file', 'addon_name');


La fonction inscrite dans la colonne function_name sera délarée dans le fichier 'require_file' comme ceci :

function function_name(&$event) {

}


Appel d'événement

Lors de l'appel d'un événement, toutes les fonctions enregistrées dans la tables des "listener" qui ont pour event_class_name, le nom de l'objet ou le nom d'un des parentsde l'objet sont appelés, pour chaque enregistrement on effectue les actions suivantes :

  1. si 'addon_name' est un nom de module valide, le contexte du module est créé
  2. le nom du fichier contenu dans 'require_file' est inclu avec la fonction require_once
  3. la fonction 'function_name' est appelée avec un seul paramètre qui est l'instance de l'événement

class bab_onUserdelete extends bab_event {

}

$event_obj = new bab_onUserdelete();

bab_fireEvent($event_obj);