Introduction
Une des caractéristiques clé de PHPBoost est sa modularité. Mais cela signifie aussi que tous les modules doivent être absolument
indépendant des autres.
C'est justement ce problème d'indépendance des modules qui empêche les modules d'interagir entre eux.
Pourquoi utiliser ces classes ?
L'intérêt de ces classes devrait donc vous sauter au yeux maintenant que vous êtes au fait du problème.
Ces deux classes permettent donc moyennant un module légèrement modifié d'accéder à certaines de ces fonctionnalité à partir d'un autre module. Ainsi il devient possible d'effectuer des recherches sur le site en entier ou de voir les dernieres actions d'un membre, ...
Bien sûr, tout cela dans le cas ou les modules implémentent les bonnes fonctionnalités.
Compatibilité
Ces fonctionnalités sont compatibles uniquement avec
PHPBoost 2.1 et supérieur.
Classe Modules
Méthodes
Classe ModuleInterface
Directives
La classe
ModuleInterface implémente des méthodes permettant de savoir quelles fonctionnalités sont disponibles pour un module en particulier.
Ainsi donc, il faudra créer une classe portant le nom du module qui héritera de cette classe, afin de pouvoir utiliser tout ce qui va suivre.
Vous ne devrez jamais avoir à utiliser directement la classe ModuleInterface. Il faudra donc toujours utiliser la classe du module concerné qui hérite de celle-ci.
Tous vos accès à un/des module(s) doivent passer par la classe Modules et la méthode GetModule.
Méthodes
Constantes
Exemple d'utilisation
Ces classes sont donc extrêmement importantes pour garder l'indépendance des modules, et à ce titre, il faut absolument tester l'absence d'erreurs lors de la construction d'un objet module via ce petit bout de code
de même lors de l'appel à une fonctionnalité, il y a deux façon de se prémunir contre les erreurs lors de l'appel à une fonctionnalité
ou bien
Vous developpez votre propre module et voulez qu'il soit compatible avec ces différent appels, alors suivez ce lien :
Comment rendre son module compatible avec l'interface de communication
Tout module digne de ce nom doit absolument être compatible avec cette interface de communication