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

.pe

Peru

in | |

ccTLD du Pérou. Attention : un ccTLD ne désigne pas nécessairement un pays. La base des ccTLD et des root servers associés est consultable sur le site de l'IANA. 

Syndiquer le contenu

Dernières définitions

Chrome - Chromium - FIDO Alliance - ghetto sharding - HTTP - MongoDB - PNaCl - QUIC - Skia - SPDY

Un mot au hasard

SET : Secure Exchange Technology  

Alertes CERTA