Je crois que c’est le titre le plus pourri que j’ai jamais fait mais bref ! on va bien evidemment pas jouer à cache-cache (quoique ^^), mais parler de mise en cache !
La mise en cache de fichiers peut être très utile, notemment si on appelle régulierement des flux RSS/XML (par exemple si on utilise des Webservices), ou même sur des requêtes MySql qui reviennent souvent. Le gain en performances est tout à fait appréciable !
Le principe est on ne peut plus simple : au lieu d’effectuer une requête vers une ressource à chaque chargement de la page, on écrit lors du premier chargement le contenu de la ressource dans un fichier texte, qu’on appellera par la suite !
Mettre un menu dynamique en cache peut être une très bonne idée pour optimiser le chargement d’un site web
![On joue à cache-cache ? ;)](http://media.paperblog.fr/i/56/565790/joue-cache-cache-L-2.jpeg)
L’exemple qui suit vous présente l’utilisation de la mise en cache sur un flux RSS.
Script php
// recuperation du flux à traiter
$flux = ‘http://feeds.feedburner.com/jegalereenwebdev’;
$cache_file = ‘/cache/jegalere.xml’;
// determination du temps de mise en cache (en secondes) : ici, 2h
$delai = (60*2) ;
// on verifie que le fichier est cache est toujours valide
if ( file_exists($cache_file) & time() < (filemtime($cache_file)+$delai) ) {
// le fichier en cache est valide, on le récupère
$content = file_get_contents($cache_file);
}
// sinon, on met à jour le fichier en cache
else {
$content = file_get_contents($flux);
if ( $content != ” ) {
$file = fopen($cache_file, ‘w+’);
fputs($file, $content);
fclose($file);
}
else {
$content = file_get_contents($rss_file);
}
}
Et voila !
Il ne reste plus qu’à parser la variable $content de la manière que vous préférez, et c’est plié !