Objectifs
Cette page a pour but d'expliquer ce qu'est un plugin dans Copix.
Rôles & Possibilités
Un plugin est une petite classe qui respecte une interface donnée, et que Copix appelle systématiquement à chaque demande de page.
Un plugin est donc utilisé lorsque vous voulez étendre les fonctionnalités du framework avec des actions systématiques.
On peut supposer un plugin pour des tâches telles que :
- Renforcement de la protection d'un ensemble de pages
- Anti-aspirateurs de sites
- Changement de thèmes graphiques
- Statistiques
- Logs des pages appelées
- Modification des pages avant affichage
- Inclusion de bibliothèques de classes
- ...
L'interface d'un plugin
abstract class CopixPlugin { public function beforeSessionStart (); public function beforeProcess (& $action); public function afterProcess ($actionreturn); public function beforeDisplay (& $display); }
beforeSessionStart
Cette méthode sera appelée avant le démarrage de la session (session_start).
beforeProcess (& $action)
Cette méthode est appelée avant que Copix n'instancie l'ActionGroup? choisie. Vous avez donc ici une dernière chance pour changer l'action retenue (qui est passée en paramètre).
afterProcess ($actionreturn)
Cette méthode est appelée alors que Copix a terminé l'appel à l'Action.
Vous disposez ainsi d'une opportunité pour modifier le retour (par exemple rediriger les demandes de téléchargements lourds sur un autre serveur, compresser les fichiers à télécharger, convertir des formats, ...)
beforeDisplay (& $display)
Cette méthode est appelée alors que Copix a complètement terminé une demande d'affichage.
Vous trouverez dans $display le contenu HTML que Copix s'apprête à afficher. Vous pouvez ainsi appeler des bibliothèques de traitement HTML, faire une fonctionnalité de glossaire sur certains mots de la page, ajouter une bannière publicitaire, ...
