Expires Helper (Aide à l'expiration)

Cela vous fournit des méthodes afin de gerer la fonction cache du navigateur. Plus d'information sur le caching coté client peuvent êtres trouvés à caching-php-performance

Vous permets de créer une page pour le temps de cache en envoyant le header Last-Modified (Dernier changement) et Expires (Expire à) pour la page.

Vous permets de verifier si la page est plus vielle que la page mise en cache a l'heure ou elle l'a été. Si oui, la page a expiré et une nouvelle page doit être generé. Si non, a 304 header de statut non modifié et un de NO data est envoyé. La page est alors récuperé par le navigateur à partir de son propre cache.

Méthodes

set()

expires::set() Définie une heure d'expiration pour une page cache soit en local soit du navigateur. Le seul paramètre dont on aura besoin est:

  • [Nombre entier] Le temps, en seconde, jusqu’à ce que la page expire. La valeur par défaut est de 60 secondes.

Exemple

expires::set(300); 

check()

expires::check() Détermine si la page mise en cache a besoin d'être rafraîchie.

Le seul paramètre dont on a besoin est: * [Nombre entier] Le temps en secondes, à ajouter a l'heure de dernière modification. La valeur par défaut est de 60 secondes.

Exemple

if (expires::check(300) === FALSE)

check_headers()

expires::check_headers() Ne possède aucun paramètres. Cette méthode est appelée de façon interne par expires::set() Cela retourne le boolean TRUE si un Last-Modified ou Expires header n'a pas été envoyé.

Exemple

if (expires::check_headers()) echo 'Il est sur d'envoyer le header Expires'; 

prevent_output()

expires::prevent_output() Ne possède aucun paramètres. Cette méthode est appelée de façon interne par expires::check() Vous ne devriez pas, normalement, appeler cette fonction directement puisque cela efface la mémoire tampon de rendu de Kohana.

Exemple

expires::prevent_output() // Définira Kohana::$output = '';

Exemple complet

Le contrôleur génère une page à partir d'une seule méthode. L'objectif est de mettre cette page en cache pendant 10 secondes. Si la page est rechargé pendant les 10 secondes, les données de la page mise en cache devrait s'afficher.

Controleur:

<?php defined('SYSPATH') or die('Aucun accès direct au script.');
/**
 * Controleur Kohana par défaut.
 */
class Welcome_Controller extends Controller {
 
	public function index()
	{
		if (expires::check(10) === FALSE) expires::set(10);
 
		$welcome = new View('Bienvenue');
 
                // Nous devrions voir seulement l'heure mise à jour après 10 secondes
                // Veuillez noter, ce n'est pas ces données qui sont mise en cache, mais le navigateur qui va à la recherche de la      page mise en cache de facon locale
		$welcome->now = date(DATE_RFC822); 
 
		$welcome->render(TRUE);
	}
 
}

Résultat:

<h2>Bienvenue!</h2>
<p>Il est maintenant <?php echo $now ?></p>
<hr/>
helpers/expires.txt · Dernière modification: 15/03/2011 21:12 par alban
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0