Documentation
Plugins
- Migration : Comment passer de Temma 1.x à la version 2
- Installation : Télécharger Temma et l'installer pour démarrer votre projet Web
- Configuration : Toutes les directives de configuration du fichier etc/temma.json et les variables d'environnement utilisables en option
- Routage : Le système de routage par défaut de Temma, et le routage avancé
- Log : Utilisation du système de log, gestion par niveaux de criticité
- Contrôleurs : Pièces essentiels de votre application Web
- Vues : Templates Smarty ou exports JSON/CSV/RSS/iCal/INI
- Injection de dépendances : La colonne vertébrale de vos développements applicatifs
- Sessions : Extension des sessions utilisateurs gérées par PHP
- Cache : Pour ne pas refaire les mêmes calculs plusieurs fois
- Modèle : Comment utiliser les DAO pour accéder aux bases de données
-
Plugins :
Comment créer vos propres plugins, et une liste de plugins proposés par Temma
- Personnalisés : Comment créer vos propres plugins, pour modulariser votre code
- Cache : Pour mettre en cache les pages HTML générées
- Langue : Gestion de la localisation multilingue
- Flux d'exécution : Comment gérer le flux d'exécution, entre les plugins et le contrôleur
- Helpers : Objets proposés par Temma pour vous aider dans plusieurs circonstances
Présentation
Il est possible de demander l'exécution de plugins, avant et/ou après l'exécution des contrôleurs de l'application. Techniquement, les plugins sont des contrôleurs possédant des méthodes spéciales, qui peuvent modifier la requête avant de la transmettre au plugin suivant ou au contrôleur désigné. On peut chaîner des plugins avant le contrôleur, et d'autres plugins après.
Les fichiers source des plugins sont stockés dans le répertoire controllers de l'application.
Un même objet peut avoir à la fois des rôles de plugin et de contrôleur.
Configuration
La configuration des pré-plugins et des post-plugins se fait en utilisant le fichier temma.json (voir la documentation de la configuration). Il est possible de configurer des plugins globaux, qui seront exécutés pour toutes les requêtes :
{
"plugins": {
// liste des pré-plugins */
"_pre": [
"AuthenticationPlugin",
"CmsController"
],
// liste des post-plugins
"_post": [
"CleanSessionPlugin"
]
}
}
Les plugins sont exécutés en suivant l'ordre dans lequel ils sont déclarés.
Il est possible de configurer des plugins qui ne s'exécuteront que pour certains contrôleurs :
{
"plugins": {
// plugins exécutés systématiquement pour tous les contrôleurs
"_pre": ["AuthenticationPlugin", "CmsController"],
"_post": ["CleanSessionPlugin"],
// plugins appelés uniquement pour le contrôleur de homepage
"Homepage": {
// plugins exécutés avant le contrôleur
"_pre": ["SomePlugin", "AnotherPlugin"],
// plugins exécutés après le contrôleur
"_post": ["LastPlugin"]
},
// plugins appelés uniquement pour le contrôleur d'affichage
"Display": {
"_post": ["CheckOutputPlugin"]
}
}
}
Il est même possible de définir des plugins qui ne vont être appelés que pour certaines actions :
{
"plugins": {
// plugins appelés uniquement pour le contrôleur de homepage
"Homepage": {
// plugins exécutés avant le contrôleur
"_pre": ["SomePlugin", "AnotherPlugin"],
// plugins exécutés après le contrôleur
"_post": ["LastPlugin"],
// plugins pour l'action show
"show": {
// plugins exécutés avant l'action
"_pre": ["SpecialPlugin"],
// plugins exécutés après l'action
"_post": ["FooPlugin"]
},
// plugins pour l'action remove
"remove": {
// plugins exécutés avant l'action
"_pre": ["BarPlugin"]
}
}
}
}
Précédent : | Modèle |
Suivant : | Plugins personnalisés |
Table des matières
- Migration : Comment passer de Temma 1.x à la version 2
- Installation : Télécharger Temma et l'installer pour démarrer votre projet Web
- Configuration : Toutes les directives de configuration du fichier etc/temma.json et les variables d'environnement utilisables en option
- Routage : Le système de routage par défaut de Temma, et le routage avancé
- Log : Utilisation du système de log, gestion par niveaux de criticité
- Contrôleurs : Pièces essentiels de votre application Web
- Vues : Templates Smarty ou exports JSON/CSV/RSS/iCal/INI
- Injection de dépendances : La colonne vertébrale de vos développements applicatifs
- Sessions : Extension des sessions utilisateurs gérées par PHP
- Cache : Pour ne pas refaire les mêmes calculs plusieurs fois
- Modèle : Comment utiliser les DAO pour accéder aux bases de données
-
Plugins :
Comment créer vos propres plugins, et une liste de plugins proposés par Temma
- Personnalisés : Comment créer vos propres plugins, pour modulariser votre code
- Cache : Pour mettre en cache les pages HTML générées
- Langue : Gestion de la localisation multilingue
- Flux d'exécution : Comment gérer le flux d'exécution, entre les plugins et le contrôleur
- Helpers : Objets proposés par Temma pour vous aider dans plusieurs circonstances