Sercache2 > cache de pages, d'objets, de requêtes ... (non terminé)

Soyez le premier à donner votre avis sur cette source.

Vue 2 571 fois - Téléchargée 173 fois

Description

Voici une classe sans prétentions qui permet (pour le moment) de mettre en cache des pages (ou parties de pages).
A terme, cette classe devra pouvoir faire du cache dans différents endroits (fichier, (bases de données?), sessions, mémoire) ; mais aussi prendre en charge différents types (Pages, Script, Images, Style, Instance de classes, ...).

Source / Exemple :


// Methodes de cache : CACHE_METHOD_FILE, CACHE_METHOD_SESSION, CACHE_METHOD_SHMOP
// Types de cache : CACHE_TYPE_TEXT, CACHE_TYPE_SCRIPT
//Exemple

// Cache de l'Header pendant 1 H
$cacheHeader = new SERCache('index.php#header', 3600, CACHE_TYPE_SCRIPT, CACHE_METHOD_FILE);
echo ($cacheHeader -> valid())?$cacheHeader:
$cacheHeader -> set(<<<SRC_HEADER
	sleep(10);
	echo '<div id="header">Je suis un header qui prend 10 secondes !!!</div>';
SRC_HEADER
);

Conclusion :


Tous commentaires est constructif :)

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

Messages postés
575
Date d'inscription
dimanche 23 décembre 2001
Statut
Membre
Dernière intervention
23 octobre 2012

la source est sympa, je poste quelques conseils / avis :

- Juste attention à la case ligne 7 dans file.php : define("CACHE_METHOD_FILE", 'File'); puisque c'est le nom de la classe.
- Tu utilises bien les fonction ob dans HttpCache, tu aurais pû faire la même chose dans la partie enregistrement des bouts html dans le cache.
- Tu as fait un système de plugin, ce qui aurait été bien c'est de normaliser le nom de la classe et de n'avoir qu'à inclure include ('./class/sercache/cache.php'); - ensuite faire une fonction d'autoload qui chargerait ce qu'il faut à la manière de ZendFramework par exemple.
- Pour les defines, le mieux est de le remplacer par une variable statique dans la classe cache (les defines sont depreciées depuis la version 5). Ca te donnerait :

class cache {
public static $method = 'File';
}

En lecture modif tu peux écrire : cache::$method...

La partie fichier pour le cache est intéressante mais faudrait aussi pouvoir le mettre en mémoire avec acp, ou bien d'autres interfaces style memcache, ou bien shmop (qui d'ailleurs est par défaut dans la distribution).

Bonne continuation sur ta librairie,
akh

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.