Bonjour,

Voici un code d'exemple qui génère un système de caching :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
<?php
 
$fichier = "testfile.tpl";
$cache = $fichier . '.cache';
$expire = time() - 3600;
 
if (file_exists($cache) && filemtime($cache) > $expire) {
    readfile($cache);
} else {
    ob_start();
 
    $test = 45;
    $test2 = "Wouuuuuuwwwwww !!!!! Ca marche ...";
 
    include($fichier);
 
    $page = ob_get_contents();
    ob_end_clean();
 
    $id_fichier = fopen($cache, "a+");
    fputs($id_fichier, $page);
 
    echo $page;
}
 
?>
Rien de bien magique mais efficace.

Ma question : comment pourrai-je faire passer tous les éléments générant le caching dans une classe pour simplement devoir instancier la classe dans mes différents programmes et non pas devoir chaque fois faire un copier / coller de ceci au début du programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$fichier = "testfile.tpl";
$cache = $fichier . '.cache';
$expire = time() - 3600;
 
if (file_exists($cache) && filemtime($cache) > $expire) {
    readfile($cache);
} else {
    ob_start();
... et de ceci à la fin du programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$page = ob_get_contents();
    ob_end_clean();
 
    $id_fichier = fopen($cache, "a+");
    fputs($id_fichier, $page);
 
    echo $page;
}
Merci :-)