Overview

Packages

  • Framework
  • None
  • PHP
  • Utilitaire

Classes

  • Bdd
  • Cache
  • CacheSimple
  • Chronometre
  • Cli
  • Config
  • Controleur
  • Debug
  • Framework
  • GestionnaireException
  • I18n
  • Log
  • Registre
  • RestClient
  • RestServeur
  • RestService
  • Script
  • SquelettePhp
  • Url
  • Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo

Class Cache

Classe Cache permettant de mettre en cache des données. Basée sur les principes de Zend_Cache (Copyright (c) 2005-2010, Zend Technologies USA, Inc. All rights reserved.)

Package: Framework
Category: php 5.2
Copyright: Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
License: Licence New BSD
License: Licence CECILL
License: Licence GNU-GPL
Author: Jean-Pascal MILCENT <jpm@tela-botanica.org>
Version: $Id: Cache.php 299 2011-01-18 14:03:46Z jpm $
Link: /doc/framework/
Located at Cache.php
Methods summary
public
# __construct( mixed $options = array(), mixed $options_stockage = array() )
public
# setEmplacement( string $emplacement )

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".

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

$emplacement
string
$emplacement chemin vers dossier (Cache::STOCKAGE_MODE_FICHIER) ou fichier base Sqlite (Cache::STOCKAGE_MODE_SQLITE)
public static
# fabriquer( mixed $mode, mixed $options = array() )
public mixed|false
# charger( string $id, boolean $ne_pas_tester_validiter_du_cache = false )

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

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

Parameters

$id
string
$id Identifiant de cache.
$ne_pas_tester_validiter_du_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
public integer|false
# tester( string $id )

Test if a cache is available for the given id

Test if a cache is available for the given id

Parameters

$id
string
$id Cache id

Returns

integer|false
Last modified time of cache entry if it is available, false otherwise
public boolean
# sauver( mixed $donnees, string $id = null, array $tags = array(), integer $duree_de_vie_specifique = false )

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

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

Parameters

$donnees
mixed
$donnees Données à mettre en cache (peut être différent d'une chaine si serialisation_auto vaut true).
$id
string
$id Identifiant du cache (s'il n'est pas définit, le dernier identifiant sera utilisé).
$tags
array
$tags Mots-clés du cache.
$duree_de_vie_specifique
integer
$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.
public boolean
# supprimer( string $id )

Supprime un enregistrement en cache.

Supprime un enregistrement en cache.

Parameters

$id
string
$id Identificant du cache à supprimer.

Returns

boolean
True si ok
public boolean
# nettoyer( string $mode = Cache::NETTOYAGE_MODE_TOUS, array|string $tags = array() )

Nettoyage des enregistrements en cache

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

$mode
string
$mode mode de nettoyage
$tags
array|string
$tags peut être un tableau de chaîne ou une simple chaine.

Returns

boolean
True si ok
public array
# getIds( )

Return an array of stored cache ids

Return an array of stored cache ids

Returns

array
array of stored cache ids (string)
public array
# getTags( )

Return an array of stored tags

Return an array of stored tags

Returns

array
array of stored tags (string)
public array
# getIdsAvecLesTags( array $tags = array() )

Return an array of stored cache ids which match given tags

Return an array of stored cache ids which match given tags

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

Parameters

$tags
array
$tags array of tags

Returns

array
array of matching cache ids (string)
public array
# getIdsSansLesTags( array $tags = array() )

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

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

$tags
array
$tags array of tags

Returns

array
array of not matching cache ids (string)
public array
# getIdsAvecUnTag( array $tags = array() )

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

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

$tags
array
$tags array of tags

Returns

array
array of matching any cache ids (string)
public integer
# getPourcentageRemplissage( )

Return the filling percentage of the backend storage

Return the filling percentage of the backend storage

Returns

integer
integer between 0 and 100
public array
# getMetadonnees( string $id )

Return an array of metadatas for the given cache id

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

$id
string
$id cache id

Returns

array
array of metadatas (false if the cache id is not found)
public boolean
# ajouterSupplementDureeDeVie( string $id, integer $supplement_duree_de_vie )

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

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

Parameters

$id
string
$id cache id
$supplement_duree_de_vie
integer
$extraLifetime

Returns

boolean
true if ok
protected static
# validerIdOuTag( string $chaine )

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

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

Parameters

$chaine
string
$chaine Identificant de cache ou tag
protected static
# validerTableauDeTags( array $tags )

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

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

Parameters

$tags
array
$tags tableau de tags
public integer
# getTimestampExpiration( mixed $duree_de_vie )

Calcule et retourne le timestamp d'expiration

Calcule et retourne le timestamp d'expiration

Returns

integer
timestamp d'expiration (unix timestamp)
Constants summary
string STOCKAGE_MODE_SIMPLE "FichierSimple"
#

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

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

string STOCKAGE_MODE_FICHIER "Fichier"
#

Socke les enregistrements du cache dans des fichiers textes.

Socke les enregistrements du cache dans des fichiers textes.

string STOCKAGE_MODE_SQLITE "Sqlite"
#

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

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

string NETTOYAGE_MODE_TOUS "tous"
#

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

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

string NETTOYAGE_MODE_EXPIRATION "expiration"
#

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

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

string NETTOYAGE_MODE_AVEC_LES_TAGS "avecLesTags"
#

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

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

string NETTOYAGE_MODE_SANS_LES_TAGS "sansLesTags"
#

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

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

string NETTOYAGE_MODE_AVEC_UN_TAG "avecUnTag"
#

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

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

Properties summary
protected array $options array( 'stockage_mode' => self::STOCKAGE_MODE_FICHIER, 'stockage_chemin' => null, 'controle_ecriture' => true, 'mise_en_cache' => true, 'cache_id_prefixe' => null, 'serialisation_auto' => false, 'nettoyage_auto' => 10, 'duree_de_vie' => 3600, )
#

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

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.
protected mixed $stockage null
#
API documentation generated by ApiGen 2.8.0