Constants

STOCKAGE_MODE_SIMPLE

STOCKAGE_MODE_SIMPLE

Socke les enregistrements du cache dans des fichiers textes de façon extremement simple.

STOCKAGE_MODE_FICHIER

STOCKAGE_MODE_FICHIER

Socke les enregistrements du cache dans des fichiers textes.

STOCKAGE_MODE_SQLITE

STOCKAGE_MODE_SQLITE

Socke les enregistrements du cache dans une base de données SQLite.

NETTOYAGE_MODE_TOUS

NETTOYAGE_MODE_TOUS

'tous' (par défaut) : supprime tous les enregistrements.

NETTOYAGE_MODE_EXPIRATION

NETTOYAGE_MODE_EXPIRATION

'expiration' : supprime tous les enregistrements dont la date d'expériration est dépassée.

NETTOYAGE_MODE_AVEC_LES_TAGS

NETTOYAGE_MODE_AVEC_LES_TAGS

'avecLesTags' : supprime tous les enregistrements contenant tous les tags indiqués.

NETTOYAGE_MODE_SANS_LES_TAGS

NETTOYAGE_MODE_SANS_LES_TAGS

'sansLesTags' : supprime tous les enregistrements contenant aucun des tags indiqués.

NETTOYAGE_MODE_AVEC_UN_TAG

NETTOYAGE_MODE_AVEC_UN_TAG

'avecUnTag' : supprime tous les enregistrements contenant au moins un des tags indiqués.

Properties

$options

$options : array

Les options disponibles pour le cache : ====> (string) stockage_mode : Indique le mode de stockage du cache à utiliser parmis : - Cache::STOCKAGE_MODE_FICHIER : sous forme d'une arborescence de fichiers et dossier - Cache::STOCKAGE_MODE_SQLITE : sous forme d'une base de données SQLite

====> (string) stockage_chemin : Chemin vers :

  • Cache::STOCKAGE_MODE_FICHIER : le dossier devant contenir l'arborescence.
  • Cache::STOCKAGE_MODE_SQLITE : le fichier contenant la base SQLite.

====> (boolean) controle_ecriture :

  • Active / Désactive le controle d'écriture (le cache est lue jute après l'écriture du fichier pour détecter sa corruption)
  • Activer le controle d'écriture ralentira légèrement l'écriture du fichier de cache mais pas sa lecture Le controle d'écriture peut détecter la corruption de fichier mais ce n'est pas un système de controle parfait.

====> (boolean) mise_en_cache :

  • Active / Désactive la mise en cache (peut être très utile pour le débogage des scripts utilisant le cache

=====> (string) cache_id_prefixe :

  • préfixe pour les identifiant de cache ( = espace de nom)

====> (boolean) serialisation_auto :

  • Active / Désactive la sérialisation automatique
  • Peut être utilisé pour sauver directement des données qui ne sont pas des chaines (mais c'est plus lent)

====> (int) nettoyage_auto :

  • Désactive / Régler le processus de nettoyage automatique
  • Le processus de nettoyage automatiques détruit les fichier trop vieux (pour la durée de vie donnée) quand un nouveau fichier de cache est écrit : 0 => pas de nettoyage automatique 1 => nettoyage automatique systématique x (integer) > 1 => nettoyage automatique toutes les 1 fois (au hasard) sur x écriture de fichier de cache

====> (int) duree_de_vie :

  • Durée de vie du cache (en secondes)
  • Si null, le cache est valide indéfiniment.

Type

array — les options disponibles pour le cache .

$stockage

$stockage

$dernier_id

$dernier_id : string

Dernier identifiant de cache utilisé.

Type

string

Methods

__construct()

__construct( $options,  $options_stockage)

Parameters

$options
$options_stockage

setEmplacement()

setEmplacement(string $emplacement) : void

Permet de (re-)définir l'emplacement pour le stockage du cache.

En fonction du mode de stockage utilisé , l'emplacement indiqué correspondra au chemin du :

  • dossier où stocker les fichiers pour le mode "fichier".
  • fichier de la base de données pour le mode "sqlite".

Parameters

string $emplacement

chemin vers dossier (Cache::STOCKAGE_MODE_FICHIER) ou fichier base Sqlite (Cache::STOCKAGE_MODE_SQLITE)

fabriquer()

fabriquer( $mode,  $options)

Parameters

$mode
$options

charger()

charger(string $id, boolean $ne_pas_tester_validiter_du_cache) : mixed|false

Teste si un cache est disponible pour l'identifiant donné et (si oui) le retourne (false dans le cas contraire)

Parameters

string $id

Identifiant de cache.

boolean $ne_pas_tester_validiter_du_cache

Si mis à true, la validité du cache n'est pas testée

Returns

mixed|false —

Cached datas

tester()

tester(string $id) : int|false

Test if a cache is available for the given id

Parameters

string $id

Cache id

Returns

int|false —

Last modified time of cache entry if it is available, false otherwise

sauver()

sauver(mixed $donnees, string $id, array $tags, int $duree_de_vie_specifique) : boolean

Sauvegarde en cache les données passées en paramètre.

Parameters

mixed $donnees

Données à mettre en cache (peut être différent d'une chaine si serialisation_auto vaut true).

string $id

Identifiant du cache (s'il n'est pas définit, le dernier identifiant sera utilisé).

array $tags

Mots-clés du cache.

int $duree_de_vie_specifique

Si != false, indique une durée de vie spécifique pour cet enregistrement en cache (null => durée de vie infinie)

Returns

boolean —

True si aucun problème n'est survenu.

supprimer()

supprimer(string $id) : boolean

Supprime un enregistrement en cache.

Parameters

string $id

Identificant du cache à supprimer.

Returns

boolean —

True si ok

nettoyer()

nettoyer(string $mode, array|string $tags) : boolean

Nettoyage des enregistrements en cache

Mode de nettoyage disponibles : 'tous' (défaut) => supprime tous les enregistrements ($tags n'est pas utilisé) 'expiration' => supprime tous les enregistrements dont la date d'expériration est dépassée ($tags n'est pas utilisé) 'avecLesTag' => supprime tous les enregistrements contenant tous les tags indiqués 'sansLesTag' => supprime tous les enregistrements contenant aucun des tags indiqués 'avecUnTag' => supprime tous les enregistrements contenant au moins un des tags indiqués

Parameters

string $mode

mode de nettoyage

array|string $tags

peut être un tableau de chaîne ou une simple chaine.

Returns

boolean —

True si ok

getIds()

getIds() : array

Return an array of stored cache ids

Returns

array —

array of stored cache ids (string)

getTags()

getTags() : array

Return an array of stored tags

Returns

array —

array of stored tags (string)

getIdsAvecLesTags()

getIdsAvecLesTags(array $tags) : array

Return an array of stored cache ids which match given tags

In case of multiple tags, a logical AND is made between tags

Parameters

array $tags

array of tags

Returns

array —

array of matching cache ids (string)

getIdsSansLesTags()

getIdsSansLesTags(array $tags) : array

Return an array of stored cache ids which don't match given tags

In case of multiple tags, a logical OR is made between tags

Parameters

array $tags

array of tags

Returns

array —

array of not matching cache ids (string)

getIdsAvecUnTag()

getIdsAvecUnTag(array $tags) : array

Return an array of stored cache ids which match any given tags

In case of multiple tags, a logical OR is made between tags

Parameters

array $tags

array of tags

Returns

array —

array of matching any cache ids (string)

getPourcentageRemplissage()

getPourcentageRemplissage() : int

Return the filling percentage of the backend storage

Returns

int —

integer between 0 and 100

getMetadonnees()

getMetadonnees(string $id) : array

Return an array of metadatas for the given cache id

The array will include these keys :

  • expire : the expire timestamp
  • tags : a string array of tags
  • mtime : timestamp of last modification time

Parameters

string $id

cache id

Returns

array —

array of metadatas (false if the cache id is not found)

ajouterSupplementDureeDeVie()

ajouterSupplementDureeDeVie(string $id,  $supplement_duree_de_vie) : boolean

Give (if possible) an extra lifetime to the given cache id

Parameters

string $id

cache id

$supplement_duree_de_vie

Returns

boolean —

true if ok

getTimestampExpiration()

getTimestampExpiration( $duree_de_vie) : int

Calcule et retourne le timestamp d'expiration

Parameters

$duree_de_vie

Returns

int —

timestamp d'expiration (unix timestamp)

validerIdOuTag()

validerIdOuTag(string $chaine) : void

Valide un identifiant de cache ou un tag (securité, nom de fichiers fiables, préfixes réservés.

..)

Parameters

string $chaine

Identificant de cache ou tag

validerTableauDeTags()

validerTableauDeTags(array $tags) : void

Valide un tableau de tags (securité, nom de fichiers fiables, préfixes réservés.

..)

Parameters

array $tags

tableau de tags

initialiserOptionsParConfig()

initialiserOptionsParConfig()

setOptions()

setOptions( $options)

Parameters

$options

prefixerId()

prefixerId(string $id) : string

Fabrique et retourne l'identifiant du cache avec son préfixe.

Vérifie l'option 'cache_id_prefixe' et retourne le nouvel id avec préfixe ou simplement l'id lui même si elle vaut null.

Parameters

string $id

Identifiant du cache.

Returns

string —

Identifiant du cache avec ou sans préfixe.

executerMethodeStockage()

executerMethodeStockage( $methode,  $params)

Parameters

$methode
$params

supprimerPrefixe()

supprimerPrefixe( $ids)

Parameters

$ids

controlerEcriture()

controlerEcriture( $id,  $donnees_avant_ecriture)

Parameters

$id
$donnees_avant_ecriture

deserialiserAutomatiquement()

deserialiserAutomatiquement( $donnees)

Parameters

$donnees

serialiserAutomatiquement()

serialiserAutomatiquement( $donnees)

Parameters

$donnees

nettoyerAutomatiquement()

nettoyerAutomatiquement()