Communication entre les modules

De OviWiki
Aller à : navigation, rechercher

Lors de l'installation d'un module, des dépendances peuvent êtres utilisées, le nom des modules dépendants doivent être ajoutés dans le fichier addonini.php avec le numéro de version minimum nécessaire dans la section "addons" :

exemple avec le module ivdashboard qui nécessite le module client :


[general]
name="ivdashboard"
version=6.09
description="Gestion de projets INVIVO"
db_prefix="ivd_"
ov_version=5.6.2
php_version=4.1.2
mysql_version=3.23

[addons]
clients=2.8


Pour que les différents modules puissent partager des fonctions, les développeurs pourrons utiliser le gestionnaire d'événements

Com addons.jpg


DRAFT : API d'appel de fonction direct entre les modules

Proposer une fonction

Chaque module proposant une ou plusieurs fonctions disponibles pour les autres modules devra contenir un fichier "interface.php" avec un objet contenant des méthodes statiques.

Le nom de l'objet sera crée à partir du nom du module de la manière suivante : addonname_interface

La syntaxe http://www.phpdoc.org/ devra être utilisée pour définir le numéro de version du module minimum requis.

exemple :



class forms_interface {
	
	/**
	 * get form object
	 * @since 5.0
	 * @static
	 */
	function getForm($id_form) {
	
	}
}



Appeler une fonction

Lors de l'appel d'un fonction d'un autre module, les droits ACL du module cible sont testés, il faut utiliser la fonction bab_callAddon() avec les paramètres suivants :

  • nom de l'addon
  • nom de la méthode
  • ... (un ou plusieurs paramètres qui serons passés à la méthode cible)