Documentation
Plugin de cache
Table des matières ▼
Présentation
Temma peut gérer automatiquement la mise en cache des pages générées par la vue Smarty.
Configuration
Ce plugin doit être l'un des tous premiers pré-plugins dans la chaîne d'exécution.
En effet, dans le cas où la page demandée est déjà en cache, le plugin la retournera et arrêtera les traitements. Il ne sert donc à rien d'exécuter des pré-plugins qui ne seraient utiles que dans le cas où la page doit être générée.
Par contre, un plugin d'authentification servant à vérifier que l'utilisateur a le droit d'accéder à la page (par exemple) devra être placé avant dans la chaîne d'exécution.
Il faudra donc ajouter une directive dans le fichier temma.json (voir la documentation de la configuration) :
{
"plugins": {
// liste des pré-plugins
"_pre": [
"\\Temma\\Plugins\\Cache"
]
}
}
Configuration avancée
Il est possible de définir des paramètres supplémentaires de configuration, en les spécifiant dans une section de configuration étendue :
{
"plugins": {
"_pre": [
"\\Temma\\Plugins\\Cache"
]
},
"x-cache": {
// sert à définir la sourcede données (cf. "dateSources")
// par défaut, utilise la source nommée "cache"
"source": "memcache",
// liste des URLs strictes à mettre en cache
"url": [
"/articles/liste",
"/pages/presentation"
],
// liste des préfixes d'URL à mettre en cache
"prefix": [
"/documentation/",
"/legal/"
]
}
}
- source : Nom de la source de données à utiliser pour stocker les pages en cache. Si cette valeur n'est pas renseignée, le plugin cherchera une source nommée cache.
- url : Liste des URLs strictes qui peuvent être mises en cache. Dans cet exemple, les pages /articles/liste et /pages/presentation seront mises en cache.
- prefix : Liste des préfixes d'URL qui peuvent être mises en cache. Dans cet exemple, toutes les pages dont l'URL commence par /documentation/ ou /legal/ seront mises en cache.
Lorsque les directives url et prefix ne sont pas définies, toutes les pages sont susceptibles d'être mises en cache.
Variable de template
Lorsque le plugin détecte que la page qui est en train d'être accédée peut être mise en cache, il positionne une variable de template _temmaCacheable, en lui donnant la valeur booléenne true. Cette variable sera utilisée par la vue Smarty, pour stocker en cache le code HTML généré avant de l'envoyer au navigateur.
Il est fortement déconseillé de modifier cette valeur. Vous pouvez toutefois y accéder en lecture.
Précédent : | Helper plugin de gestion des accès aux API |
Suivant : | Helper plugin de localisation multilingue |
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
- Bibliothèques externes : Comment utiliser des bibliothèques de fonctions externes
- 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
- Sources de données : Pour gérer l'accès aux données de manière unifiée
- Modèle : Comment utiliser les DAO pour accéder aux bases de données
- Flux d'exécution : Comment gérer le flux d'exécution, entre les plugins et le contrôleur
- Plugins : Comment utiliser les plugins, et écrire les vôtres pour modulariser votre code
- Attributs : Comment filtrer l'accès aux contrôleurs et aux actions
- Tests : Pour écrire des tests d'intégration automatisés.
- Interface en ligne de commande : Pour créer des scripts exécutables en ligne de commande, initialisés automatiquement par Temma
-
Helpers :
Objets proposés par Temma pour vous aider dans plusieurs circonstances
- Scripts en ligne de commande
-
Contrôleur + plugin
- Auth : Contrôleur et plugin servant à gérer l'authentification des utilisateurs
- Plugins
- Attributs
-
Plugins Smarty
- urlize : Modificateur transformant un texte en URL
- filenamize : Modificateur transformant un texte en nom de fichier
- nbsp : Modificateur transformant des espaces en espaces non sécables
-
Objets utilitaires
- ANSI : Pour mettre en forme les textes écrits sur la sortie standard
- BaseConvert : Pour faire des conversions de bases numériques
- DataFilter : Pour filtrer et valider des données
- Email : Pour envoyer des emails
- HTMLCleaner : Pour nettoyer un flux HTML provenant d'un éditeur WYSIWYG
- IniExport : Pour exporter des données au format INI
- Json : Pour lire des flux JSON pouvant contenir des commentaires
- Lock : Pour verrouiller l'accès à un fichier, ou l'exécution du script PHP courant
- Registry : Pour stocker proprement des variables globales
- Smarty : Pour traiter des templates Smarty en dehors de la vue
- Term : Gestion des terminaux (TTY)
- Text : Différents traitements sur les chaînes de caractères
- Timer : Pour gérer des chronomètres