Avant-propos
Avant de vous lancer, dans ce tutoriel, assurez vous que votre module est déjà fonctionnel et non buggé, c'est toujours mieux.
Une fois ceci réalisé, voici comment tout cela va fonctionner.
De bonnes notions en Programmation Orientée Objet (POO) sont requises.
De plus, il est nécessaire de connaitre le fonctionnement de l'héritage
Dans ce tutoriel, seule l'utilité de l'héritage sera expliqué, mais dans tous les cas, utilisez les liens ci-dessus pour comprendre ce tutoriel.
Tout d'abord il faut imaginer qu'un autre développeur va utiliser votre module, pour cela il utilisera les méthodes décrites
ici.
La première chose qu'il va donc essayer de faire avec votre module c'est de l'instancier.
Pour cela, vous aurez besoin d'implémenter une classe que l'interface de communication pourra allé lire et exécuter.
Ensuite, il va simplement appelé des méthodes de la classe que vous venez d'implémenter.
C'est aussi simple que cela. Nous allons donc voir chacun des deux points en détail.
Très brèves notions sur l'héritage
L'héritage consiste en fait à dire que l'héritier dispose des propriétés du père.
Ainsi votre classe MonModuleInterface (vue plus bas) héritera de la classe
ModuleInterface.
Ceci va donc lui ajouter certaines méthodes qui vont lui permettre d'autotester la présence de fonctionnalités.
Pour en savoir plus, lisez
monmodule_interface.class.php
Maintenant que vous savez comment cela va fonctionner en théorie, il est temps de voir cela fonctionne en pratique.
Pour rendre votre module compatible, vous avez juste besoin de faire
UN fichier.
Oui, un seul petit fichier, il n'y a pas besoin de réorganiser votre module (à partir du moment ou les fonctionnalités sont bien séparées à l'intérieur).
Comment cela est possible?
Et bien lorsqu'un développeur va vouloir utiliser votre module, il fera appel à la méthode
Modules::GetModule() qui va tenter d'instancier l'objet interface de votre module.
Pour cela il va regarder si le fichier
existe et si oui, si il contient bien une classe nommée
Il pourra alors appelé n'importe quelle méthode de cette classe.
Le nom du fichier est nomdumodule_interface.class.php, tout en minuscule.
Le nom de la classe est NomdumoduleInterface avec une majuscule au nom du module.
Exemple pour le module Wiki
Réalisation de la classe MonModuleInterface
Nous allons maintenant voir ce qu'il faut mettre dans ce fichier
monmodule_interface.class.php
Le contenu de ce fichier se résume à une classe
MonmoduleInterface qui hérite de la classe
ModuleInterface
Voyons maintenant ce qu'il faut y mettre dedans.
Réalisation minimaliste
Voici une réalisation minimaliste servant de base à ce qui va suivre.
Comme on peut le voir ici, il n'y a quasiment rien à faire, pour commencer à rendre son module compatible avec les autres.
Cependant à ce stade là, ce qu'on a fait ne sert strictement à rien dans la mesure ou l'on peut juste construire un objet de type MonmoduleInterface.
Pour que ce soit utilisable, il ne reste plus qu'à implémenter les méthodes que vous désirez voire utilisées dans d'autres modules. Cela se fait en définissant de nouvelles méthodes à votre classe MonmoduleInterface. Les seules connaissances que vous nécessitez alors sont celle de la programmation orienté objet.
Exemple de réalisation plus complet
Les méthodes Interdites
Certains noms de méthodes ne peuvent être définis dans votre classe
MonmodulInterface et ce car ils sont utilisés par la classe
ModuleInterface.
En voici la liste :
Remarques diverses
Voir aussi