cache statique

cache statique

En d'autres termes

cache dans une variable statique

Définition

Technique d'accélération couramment utilisée dans les scripts PHP, consistant à conserver dans une variable statique d'une fonction une donnée calculée lors de la première invocation de celle-ci, pour éviter d'avoir à la recalculer.

La donnée peut être un simple résultat, ou construite au fil des appels successifs à la fonction, comme dans l'exemple suivant.

Exemple

L'exemple suivant est tiré du CMS Drupal 6.9, fichier includes/menu.inc version 1.255.2.27.

<?php
/**
* Build a list of named menus.
*/
function menu_get_names($reset = FALSE) {
  static
$names;

  if (
$reset || empty($names)) {
   
$names = array();
   
$result = db_query("SELECT DISTINCT(menu_name) FROM {menu_links} ORDER BY menu_name");
    while (
$name = db_fetch_array($result)) {
     
$names[] = $name['menu_name'];
    }
  }
  return
$names;
}
?>

Cette construction tire parti du fait que les variables statiques en PHP sont initialisées à la valeur NULL, qui ne peut plus survenir lorsque la fonction a déjà placé un contenu dans la variable lors d'une invocation ultérieure, les appels successifs à la fonction tranformant cette variable en tableau et lui ajoutant des lignes.

Dans cet exemple, la présence du paramètre $reset fournit un moyen de réinitialiser le cache.

Get started with Drupal 7

Marques les plus citées

toutes les marques

acheter sur OSInet

Accès direct

Recherche

Le mot du jour

Linear Time BaseT

in | |

Protocole de transmission MIDI permettant une précision synchronisation meilleure que la milliseconde, levant une limitation importante sur les systèmes de musique informatique où le délai entre l… 

Syndiquer le contenu

Dernières définitions

DROD - ESN - KOffice - ODA - ODF - OpenDocument - planche tendance - SSII - style tile - Syntec

Un mot au hasard

DFT : Discrete Fourier Transform  

Alertes CERTA