API du gestionnaire d'événement : Différence entre versions
De OviWiki
| Ligne 3 : | Ligne 3 : | ||
* id | * id | ||
* event_class_name | * event_class_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( | + | |
| + | 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 :
- 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
class bab_onUserdelete extends bab_event {
}
$event_obj = new bab_onUserdelete();
bab_fireEvent($event_obj);