<?php 
require_once 'Keeper.php'; 
/* 
 * For example: 
 * You have created the site menu in the header and footer. 
 * These menus are created in different files (modules), using the same array, 
 * which returns a function mysql_fetch_assoc(); 
 */ 
 
# file (module) generation head menu 
$query = "SELECT * FROM `menu` ORDER BY `sort` ASC"; 
$result = mysql_query($query); 
$menu = mysql_fetch_assoc($result); 
 
# and file (module) generation footer menu 
$query = "SELECT * FROM `menu` ORDER BY `sort` ASC"; 
$result = mysql_query($query); 
$menu = mysql_fetch_assoc($result); 
 
# Well... I propose to change the approach. 
# file (module) generation head menu 
$key_by_keeper_registry = 'Menu array assoc'; 
if (Keeper::exists($key_by_keeper_registry)) { 
    $menu = Keeper::get($key_by_keeper_registry); 
} else { 
    $query = "SELECT * FROM `menu` ORDER BY `sort` ASC"; 
    $result = mysql_query($query); 
    $menu = mysql_fetch_assoc($result); 
    Keeper::set($key_by_keeper_registry, $menu); 
} 
# and file (module) generation footer menu 
$key_by_keeper_registry = 'Menu array assoc'; 
if (Keeper::exists($key_by_keeper_registry)) { 
    $menu = Keeper::get($key_by_keeper_registry); 
} else { 
    $query = "SELECT * FROM `menu` ORDER BY `sort` ASC"; 
    $result = mysql_query($query); 
    $menu = mysql_fetch_assoc($result); 
    Keeper::set($key_by_keeper_registry, $menu); 
} 
?>
 
 |