Documentation du code de SPIP et de ses plugins

SPIP

cacher.php

Table of Contents

Constants

_DUREE_CACHE_DEFAUT  = 24 * 3600

Functions

cache_key()  : string
Returns a key cache (id) for this data
ecrire_cache()  : bool
Écrire le cache dans un casier
lire_cache()  : null|mixed
lire le cache depuis un casier
cache_signature()  : string
Signature du cache
gzip_page()  : array<string|int, mixed>
Faut-il compresser ce cache ?
gunzip_page()  : void
Faut-il decompresser ce cache ?
cache_valide()  : int
Gestion des delais d'expiration du cache... $page passee par reference pour accelerer
creer_cache()  : void
Creer le fichier cache
public_cacher_dist()  : string|void
Interface du gestionnaire de cache

Constants

_DUREE_CACHE_DEFAUT

public mixed _DUREE_CACHE_DEFAUT = 24 * 3600

Functions

cache_key()

Returns a key cache (id) for this data

cache_key(array<string|int, mixed> $contexte, array<string|int, mixed> $page) : string
Parameters
$contexte : array<string|int, mixed>
$page : array<string|int, mixed>
Return values
string

ecrire_cache()

Écrire le cache dans un casier

ecrire_cache(string $cache_key, array<string|int, mixed> $valeur) : bool
Parameters
$cache_key : string
$valeur : array<string|int, mixed>
Return values
bool

lire_cache()

lire le cache depuis un casier

lire_cache(string $cache_key) : null|mixed
Parameters
$cache_key : string
Return values
null|mixed

null: probably cache miss

cache_signature()

Signature du cache

cache_signature(mixed &$page) : string

Parano : on signe le cache, afin d'interdire un hack d'injection dans notre memcache

Parameters
$page : mixed
Return values
string

gzip_page()

Faut-il compresser ce cache ?

gzip_page(array<string|int, mixed> $page) : array<string|int, mixed>

A partir de 16ko ca vaut le coup (pas de passage par reference car on veut conserver la version non compressee pour l'afficher) on positionne un flag gz si on comprime, pour savoir si on doit decompresser ou pas

Parameters
$page : array<string|int, mixed>
Return values
array<string|int, mixed>

gunzip_page()

Faut-il decompresser ce cache ?

gunzip_page(array<string|int, mixed> &$page) : void

(passage par reference pour alleger) on met a jour le flag gz quand on decompresse, pour ne pas risquer de decompresser deux fois de suite un cache (ce qui echoue)

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

cache_valide()

Gestion des delais d'expiration du cache... $page passee par reference pour accelerer

cache_valide(array<string|int, mixed> &$page, int $date) : int
Parameters
$page : array<string|int, mixed>
$date : int
Return values
int
  • 1 si il faut mettre le cache a jour
  • 0 si le cache est valide
  • -1 si il faut calculer sans stocker en cache

creer_cache()

Creer le fichier cache

creer_cache(array<string|int, mixed> &$page, string &$cache_key) : void

Passage par reference de $page par souci d'economie

Parameters
$page : array<string|int, mixed>
$cache_key : string

public_cacher_dist()

Interface du gestionnaire de cache

public_cacher_dist(array<string|int, mixed> $contexte, int &$use_cache, string &$cache_key, array<string|int, mixed> &$page, int &$lastmodified) : string|void

Si son 3e argument est non vide, elle passe la main a creer_cache Sinon, elle recoit un contexte (ou le construit a partir de REQUEST_URI) et affecte les 4 autres parametres recus par reference:

  • use_cache qui vaut -1 s'il faut calculer la page sans la mettre en cache 0 si on peut utiliser un cache existant 1 s'il faut calculer la page et la mettre en cache
  • cache_key est un identifiant pour ce cache, ou vide si pas cachable
  • page qui est le tableau decrivant la page, si le cache la contenait
  • lastmodified qui vaut la date de derniere modif du fichier. Elle retourne '' si tout va bien un message d'erreur si le calcul de la page est totalement impossible
Parameters
$contexte : array<string|int, mixed>
$use_cache : int
$cache_key : string
$page : array<string|int, mixed>
$lastmodified : int
Return values
string|void

        
On this page

Search results