четверг, 20 июня 2013 г.

Альтернатива drupal_static - cache_key

При кешировании результатов функций с параметрами приходиться генерировать ключ. Данный код подходит почти под все варианты. Только не надо злоупотреблять.

function get_athletes($customer_tid_list, $team_nid_list, $reset=FALSE) {
  static $cache = array();
  $cache_key = crc32(print_r(func_get_args(), 1));
  if (!$reset && array_key_exists($cache_key, $cache)) {
    return $cache[$cache_key];
  }
  ...
  return $cache[$cache_key] = $result;
}

Комментариев нет:

Отправить комментарий