Documentation du code de SPIP et de ses plugins

Cache Factory

Documentation

Packages

SPIP

Table of Contents

action_telecharger_cache_dist()  : void
Telecharge un fichier cache identifié par son chemin.
ezcache_cache_configurer()  : array<string, mixed>
Récupère ou charge la configuration des types de cache d'un plugin, la complète et la stocke dans une meta.
ezcache_cache_verifier()  : array<string, mixed>
Vérifie l'identifiant relatif du cache et le complète le cas échéant si le plugin utilise un sous-dossier ou un préfixe.
ezcache_cache_composer()  : string
Construit le chemin complet du fichier cache.
ezcache_cache_decomposer()  : array<string|int, mixed>
Décompose le chemin complet du fichier cache en éléments constitutifs. Par défaut, le tableau obtenu coïncide avec l’identifiant relatif du cache. La fonction utilise la configuration générale pour connaitre la structure du chemin du fichier.
ezcache_cache_completer()  : array<string|int, mixed>
Complète la description d'un cache issue du service `cache_decomposer()`.
ezcache_cache_decoder()  : array<string|int, mixed>
Décode le contenu du fichier cache en fonction de l'extension.
ezcache_cache_valider()  : bool
Vérifie la validité du fichier cache.
balise_CACHE_LISTE_dist()  : Champ
Compile la balise `#CACHE_LISTE` qui fournit la liste des caches pour un plugin utilisateur donné et conformes aux filtres éventuellement fournis. Pour se focaliser sur un type de cache donné du plugin il faut le fournir en filtre avec pour critère `type_cache`.
ezcache_affiche_milieu()  : array<string|int, mixed>
Supprime la meta stockant la configuration des caches de tous les plugins utilisateur quand la page d'administration des plugins est affiché.
formulaires_cache_vider_charger()  : array<string|int, mixed>
Chargement des données : le formulaire affiche la liste des caches issus de l'utilisation du service et propose le vidage de tout ou partie des fichiers.
formulaires_cache_vider_verifier()  : array<string|int, mixed>
Vérification des saisies : il est obligatoire de choisir un cache à supprimer.
formulaires_cache_vider_traiter()  : array<string|int, mixed>
Exécution du formulaire : la liste des caches sélectionnés est récupérée et fournie à l'API cache pour suppression.
cache_ecrire()  : bool
Ecrit un contenu donné dans un cache spécifié par son identifiant relatif ou par son chemin complet.
cache_lire()  : array<string|int, mixed>|bool|string
Lit le cache spécifié par son identifiant relatif ou son chemin complet et renvoie le contenu sous forme de tableau ou de chaine suivant l’attribut de sérialisation.
cache_est_valide()  : string
Teste l'existence d'un cache sur le disque spécifié par son identifiant relatif ou par son chemin complet et, si il existe, teste si la date d'expiration du fichier n'est pas dépassée. Si le fichier existe et n'est pas périmé, la fonction renvoie le chemin complet, sinon elle renvoie une chaine vide.
cache_nommer()  : string
Renvoie le chemin complet du cache sans tester son existence.
cache_supprimer()  : bool
Supprime le cache spécifié par son identifiant relatif ou par son chemin complet.
cache_repertorier()  : array<string|int, mixed>
Retourne la description des caches d'un plugin utilisateur filtrée sur un ensemble de critères. La description de base fournie par Cache Factory contient les éléments de l’identifiant relatif mais peut-être remplacée ou complétée par le plugin appelant au travers de services propres.
cache_vider()  : bool
Supprime, pour un plugin donné, les caches désignés par leur chemin complet.
configuration_cache_lire()  : array<string|int, mixed>
Lit la configuration standard d'un type de cache d'un plugin utilisateur, de tous les types de caches ou de tous les plugins utilisateur ayant enregistrés une configuration.
configuration_cache_effacer()  : bool
Efface les configurations standard de types de cache d'un plugin utilisateur ou de tous les plugins utilisateur ayant enregistrés une configuration.

Functions

action_telecharger_cache_dist()

Telecharge un fichier cache identifié par son chemin.

action_telecharger_cache_dist() : void
Return values
void

ezcache_cache_configurer()

Récupère ou charge la configuration des types de cache d'un plugin, la complète et la stocke dans une meta.

ezcache_cache_configurer(string $plugin) : array<string, mixed>

Le plugin Cache Factory propose une configuration par défaut des caches.

Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

Tags
uses
service_cache_chercher()
uses
lire_config()
uses
ecrire_config()
Return values
array<string, mixed>

Tableau des configurations complétée des caches d'un plugin venant d'être enregistrée.

ezcache_cache_verifier()

Vérifie l'identifiant relatif du cache et le complète le cas échéant si le plugin utilise un sous-dossier ou un préfixe.

ezcache_cache_verifier(string $plugin, array<string, mixed> $cache, array<string, mixed> $configuration) : array<string, mixed>
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$cache : array<string, mixed>

Tableau identifiant le cache pour lequel on veut construire le nom.

$configuration : array<string, mixed>

Configuration complète des caches du plugin utlisateur lue à partir de la meta de stockage.

Return values
array<string, mixed>

L'identifiant relatif du cache vérifié et éventuellement complété ou tableau vide si erreur.

ezcache_cache_composer()

Construit le chemin complet du fichier cache.

ezcache_cache_composer(string $plugin, array<string|int, mixed> $cache, array<string|int, mixed> $configuration) : string
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$cache : array<string|int, mixed>

Tableau identifiant le cache pour lequel on veut construire le nom.

$configuration : array<string|int, mixed>

Configuration complète des caches du plugin utlisateur lue à partir de la meta de stockage.

Tags
uses
service_cache_chercher()
Return values
string

ezcache_cache_decomposer()

Décompose le chemin complet du fichier cache en éléments constitutifs. Par défaut, le tableau obtenu coïncide avec l’identifiant relatif du cache. La fonction utilise la configuration générale pour connaitre la structure du chemin du fichier.

ezcache_cache_decomposer(string $plugin, string $fichier_cache, array<string|int, mixed> $configuration) : array<string|int, mixed>

Cache Factory renvoie uniquement les éléments de l'identifiant relatif.

Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$fichier_cache : string

Le chemin complet du fichier à phraser.

$configuration : array<string|int, mixed>

Configuration complète des caches du plugin utlisateur lue à partir de la meta de stockage.

Tags
uses
service_cache_chercher()
Return values
array<string|int, mixed>

Tableau des composants constitutifs du cache

ezcache_cache_completer()

Complète la description d'un cache issue du service `cache_decomposer()`.

ezcache_cache_completer(string $plugin, array<string|int, mixed> $cache, string $fichier_cache, array<string|int, mixed> $configuration) : array<string|int, mixed>

Le plugin Cache Factory complète la description canonique avec le nom sans extension, l'extension du fichier, la date et la taille du fichier.

Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$cache : array<string|int, mixed>

Tableau identifiant le cache pour lequel on veut construire le nom.

$fichier_cache : string

Fichier cache désigné par son chemin complet.

$configuration : array<string|int, mixed>

Configuration complète des caches du plugin utilisateur lue à partir de la meta de stockage.

Tags
uses
service_cache_chercher()
Return values
array<string|int, mixed>

Description du cache complétée par un ensemble de données propres au plugin.

ezcache_cache_decoder()

Décode le contenu du fichier cache en fonction de l'extension.

ezcache_cache_decoder(string $plugin, string $contenu, array<string|int, mixed> $configuration) : array<string|int, mixed>

Le plugin Cache Factory utilise des fonctions standard de PHP, SPIP ou du plugin YAML. Un plugin appelant peut proposer une fonction spécifique de décodage

Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$contenu : string

Contenu du fichier cache au format chaine.

$configuration : array<string|int, mixed>

Configuration complète des caches du plugin utilisateur lue à partir de la meta de stockage.

Tags
uses
service_cache_chercher()
Return values
array<string|int, mixed>

Contenu du cache décodé si la fonction idoine a été appliqué ou tel que fourni en entrée sinon.

ezcache_cache_valider()

Vérifie la validité du fichier cache.

ezcache_cache_valider(string $plugin, string $fichier_cache, array<string|int, mixed> $cache, array<string|int, mixed> $configuration) : bool

Le plugin Cache Factory teste toujours la péremption du fichier (durée de conservation issue). Il est toutefois possible de rajouter des tests spécifiques en appelant un service propre au plugin.

Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$fichier_cache : string

Le chemin complet du fichier à valider.

$cache : array<string|int, mixed>

Tableau identifiant le cache (redondant avec l'argument $fichier_cache mais peut être nécessaire pour les éventuels tests complémentaires du plugin utilisateur.

$configuration : array<string|int, mixed>

Configuration complète des caches du plugin utlisateur lue à partir de la meta de stockage.

Tags
uses
service_cache_chercher()
Return values
bool

true si le cache est valide, false sinon.

balise_CACHE_LISTE_dist()

Compile la balise `#CACHE_LISTE` qui fournit la liste des caches pour un plugin utilisateur donné et conformes aux filtres éventuellement fournis. Pour se focaliser sur un type de cache donné du plugin il faut le fournir en filtre avec pour critère `type_cache`.

balise_CACHE_LISTE_dist(Champ $p) : Champ

La signature de la balise est : #CACHE_LISTE{plugin[, filtres]}.

Parameters
$p : Champ

Pile au niveau de la balise.

Tags
balise
uses
calculer_liste_cache()
example
#CACHE_LISTE{ezcheck}, renvoie tous les caches du plugin ezcheck
#CACHE_LISTE{ezcheck, #ARRAY{type_cache, dashboard}}, renvoie tous les caches du type 'dashboard' du plugin ezcheck
#CACHE_LISTE{ezcheck, #ARRAY{type_cache, dashboard, objet, repo}}, renvoie les caches de type dashboard du plugin ezcheck dont l'objet est 'repo'
Return values
Champ

Pile complétée par le code à générer.

ezcache_affiche_milieu()

Supprime la meta stockant la configuration des caches de tous les plugins utilisateur quand la page d'administration des plugins est affiché.

ezcache_affiche_milieu(array<string|int, mixed> $flux) : array<string|int, mixed>

C'est un peu grossier mais il n'existe pas de pipeline pour agir à la mise à jour d'un plugin. Au moins, cela permet facilement de recharger une configuration d'un plugin utilisateur qui aurait changée sans être une opération trop récurrente.

Parameters
$flux : array<string|int, mixed>

Tableau des données permettant de caractériser la page concernée et de déclencher le traitement uniquement sur la page admin_plugin.

Tags
uses
configuration_cache_lire()
uses
configuration_cache_effacer()
uses
ezcache_cache_configurer()
Return values
array<string|int, mixed>

Le flux entrant n'est pas modifié.

formulaires_cache_vider_charger()

Chargement des données : le formulaire affiche la liste des caches issus de l'utilisation du service et propose le vidage de tout ou partie des fichiers.

formulaires_cache_vider_charger(string $plugin[, array<string|int, mixed> $options = array() ]) : array<string|int, mixed>
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$options : array<string|int, mixed> = array()

Tableau d'options qui peut être fourni par un plugin utilisateur uniquement si celui-ci fait appel au formulaire. La page cache_vider de Cache Factory n'utilise pas ce paramètre. Le tableau est passé à la fonction de service de chargement du formulaire uniquement.

Tags
uses
configuration_cache_lire()
uses
cache_repertorier()
uses
service_cache_chercher()
Return values
array<string|int, mixed>

Tableau des données à charger par le formulaire (affichage). Aucune donnée chargée n'est un champ de saisie, celle-ci sont systématiquement remises à zéro. Le tableau comprend à minima l'index suivant:

  • _caches : (affichage) liste des descriptions des caches du plugin rangés par groupes

formulaires_cache_vider_verifier()

Vérification des saisies : il est obligatoire de choisir un cache à supprimer.

formulaires_cache_vider_verifier(string $plugin[, array<string|int, mixed> $options = array() ]) : array<string|int, mixed>
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$options : array<string|int, mixed> = array()

Tableau d'options qui peut être fourni par un plugin utilisateur uniquement si celui-ci fait appel au formulaire. La page cache_vider de Cache Factory n'utilise pas ce paramètre. Le tableau est passé à la fonction de service de chargement du formulaire uniquement.

Return values
array<string|int, mixed>

Tableau des erreurs qui se limite à la non sélection d'au moins un cache.

formulaires_cache_vider_traiter()

Exécution du formulaire : la liste des caches sélectionnés est récupérée et fournie à l'API cache pour suppression.

formulaires_cache_vider_traiter(string $plugin[, array<string|int, mixed> $options = array() ]) : array<string|int, mixed>
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$options : array<string|int, mixed> = array()

Tableau d'options qui peut être fourni par un plugin utilisateur uniquement si celui-ci fait appel au formulaire. La page cache_vider de Cache Factory n'utilise pas ce paramètre. Le tableau est passé à la fonction de service de chargement du formulaire uniquement.

Tags
uses
cache_vider()
Return values
array<string|int, mixed>

Tableau retourné par le formulaire contenant toujours un message de bonne exécution. L'indicateur editable est toujours à vrai.

cache_ecrire()

Ecrit un contenu donné dans un cache spécifié par son identifiant relatif ou par son chemin complet.

cache_ecrire(string $plugin, string $type_cache, array<string|int, mixed>|string $cache, array<string|int, mixed>|string $contenu[, bool $post_cache = true ]) : bool
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$type_cache : string

Type de cache identifiant la configuration dans la liste des configurations de cache du plugin

$cache : array<string|int, mixed>|string

Identifiant du cache sous la forme d'une chaine (le chemin du fichier) ou d'un tableau fournissant les composants canoniques du nom.

$contenu : array<string|int, mixed>|string

Contenu sous forme de tableau à sérialiser ou sous la forme d'une chaine.

$post_cache : bool = true

true si on doit appeler le pipeline post_cache ou false sinon. Le défaut vaut true. Permet d'utiliser l'API dans le pipeline post_cache.

Tags
uses
configuration_cache_lire()
uses
ezcache_cache_composer()
uses
sous_repertoire()
uses
ecrire_fichier()
uses
ecrire_fichier_securise()
Return values
bool

True si l'écriture s'est bien passée, false sinon.

cache_lire()

Lit le cache spécifié par son identifiant relatif ou son chemin complet et renvoie le contenu sous forme de tableau ou de chaine suivant l’attribut de sérialisation.

cache_lire(string $plugin, string $type_cache, array<string|int, mixed>|string $cache) : array<string|int, mixed>|bool|string

En cas d’erreur, la fonction renvoie false.

Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$type_cache : string

Type de cache identifiant la configuration dans la liste des configurations de cache du plugin

$cache : array<string|int, mixed>|string

Identifiant du cache sous la forme d'une chaine (le chemin du fichier) ou d'un tableau fournissant les composants canoniques du nom.

Tags
uses
configuration_cache_lire()
uses
ezcache_cache_composer()
uses
lire_fichier()
uses
lire_fichier_securise()
Return values
array<string|int, mixed>|bool|string

Contenu du fichier sous la forme d'un tableau, d'une chaine ou false si une erreur s'est produite.

cache_est_valide()

Teste l'existence d'un cache sur le disque spécifié par son identifiant relatif ou par son chemin complet et, si il existe, teste si la date d'expiration du fichier n'est pas dépassée. Si le fichier existe et n'est pas périmé, la fonction renvoie le chemin complet, sinon elle renvoie une chaine vide.

cache_est_valide(string $plugin, string $type_cache, array<string|int, mixed>|string $cache) : string
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$type_cache : string

Type de cache identifiant la configuration dans la liste des configurations de cache du plugin

$cache : array<string|int, mixed>|string

Identifiant du cache sous la forme d'une chaine (le chemin du fichier) ou d'un tableau fournissant les composants canoniques du nom.

Tags
uses
configuration_cache_lire()
uses
ezcache_cache_composer()
uses
ezcache_cache_valider()
Return values
string

Le chemin complet du fichier si valide, la chaine vide sinon.

cache_nommer()

Renvoie le chemin complet du cache sans tester son existence.

cache_nommer(string $plugin, string $type_cache, array<string|int, mixed> $cache) : string

Cette fonction est une encapsulation du service ezcache_cache_composer().

Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$type_cache : string

Type de cache identifiant la configuration dans la liste des configurations de cache du plugin

$cache : array<string|int, mixed>

Identifiant du cache sous la forme d'un tableau fournissant les composants canoniques du nom.

Tags
uses
configuration_cache_lire()
uses
ezcache_cache_composer()
Return values
string

Chemin complet du fichier cache

cache_supprimer()

Supprime le cache spécifié par son identifiant relatif ou par son chemin complet.

cache_supprimer(string $plugin, string $type_cache, array<string|int, mixed>|string $cache[, bool $post_cache = true ]) : bool
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$type_cache : string

Type de cache identifiant la configuration dans la liste des configurations de cache du plugin

$cache : array<string|int, mixed>|string

Identifiant du cache sous la forme d'une chaine (le chemin du fichier) ou d'un tableau fournissant les composants canoniques du nom.

$post_cache : bool = true

true si on doit appeler le pipeline post_cache ou false sinon. Le défaut vaut true. Permet d'utiliser l'API dans le pipeline post_cache.

Tags
uses
configuration_cache_lire()
uses
ezcache_cache_composer()
uses
supprimer_fichier()
Return values
bool

true si la suppression s'est bien passée, false sinon.

cache_repertorier()

Retourne la description des caches d'un plugin utilisateur filtrée sur un ensemble de critères. La description de base fournie par Cache Factory contient les éléments de l’identifiant relatif mais peut-être remplacée ou complétée par le plugin appelant au travers de services propres.

cache_repertorier(string $plugin, string $type_cache[, array<string|int, mixed> $filtres = array() ]) : array<string|int, mixed>

Les filtres concernent uniquement les éléments de l’identifiant relatif.

Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$type_cache : string

Type de cache identifiant la configuration dans la liste des configurations de cache du plugin

$filtres : array<string|int, mixed> = array()

Tableau associatif [champ] = valeur ou [champ] = !valeur de critères de filtres sur les composants de caches. Les opérateurs égalité et inégalité sont possibles.

Tags
uses
configuration_cache_lire()
uses
ezcache_cache_decomposer()
uses
ezcache_cache_completer()
Return values
array<string|int, mixed>

Tableau des descriptions des fichiers cache créés par le plugin indexé par le chemin complet de chaque fichier cache.

cache_vider()

Supprime, pour un plugin donné, les caches désignés par leur chemin complet.

cache_vider(string $plugin, string $type_cache, array<string|int, mixed>|string $caches[, bool $post_cache = true ]) : bool
Parameters
$plugin : string

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe.

$type_cache : string

Type de cache identifiant la configuration dans la liste des configurations de cache du plugin

$caches : array<string|int, mixed>|string

Liste des fichiers caches désignés par leur chemin complet.

$post_cache : bool = true

true si on doit appeler le pipeline post_cache ou false sinon. Le défaut vaut true. Permet d'utiliser l'API dans le pipeline post_cache.

Tags
uses
supprimer_fichier()
Return values
bool

true si la suppression s'est bien passée, false sinon.

configuration_cache_lire()

Lit la configuration standard d'un type de cache d'un plugin utilisateur, de tous les types de caches ou de tous les plugins utilisateur ayant enregistrés une configuration.

configuration_cache_lire([string $plugin = '' ][, string $type_cache = '' ]) : array<string|int, mixed>
Parameters
$plugin : string = ''

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe. Si vide, toutes les configurations sont fournies.

$type_cache : string = ''

Type de cache identifiant la configuration dans la liste des configurations de cache du plugin Si vide toutes les configurations du plugin sont renvoyées.

Tags
uses
lire_config()
uses
ezcache_cache_configurer()
Return values
array<string|int, mixed>

Tableau de configuration des caches d'un plugin utilisateur ou tableau vide si aucune configuration n'est encore enregistrée.

configuration_cache_effacer()

Efface les configurations standard de types de cache d'un plugin utilisateur ou de tous les plugins utilisateur ayant enregistrés une configuration.

configuration_cache_effacer([string $plugin = '' ]) : bool
Parameters
$plugin : string = ''

Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe. Si vide, toutes les configurations sont effacées.

Tags
uses
lire_config()
uses
effacer_config()
Return values
bool

true si la suppression s'est bien passée, false sinon.

Search results