drupal核心函数

1,drupal_static

 

这个函数在includes/bootstrap.inc中被定义,用于持久化和缓存数据

它使用的方法是,在函数内部申明两个静态变量,$data用于存储当前数据,$default用于存储上次数据。

 static $data = array(), $default = array();

 如果使用了参数$reset=true,它将用上次数据重置当前数据。

    if ($reset) {
      $data[$name] = $default[$name];
    }

 

这个函数的用法,如includes/common.inc:

function drupal_add_library($module, $name, $every_page = NULL) {
  $added = &drupal_static(__FUNCTION__, array());
//如果没有被静态缓存
  if (!isset($added[$module][$name])) {
    if ($library = drupal_get_library($module, $name)) {
      $elements['#attached'] = array(
        'library' => $library['dependencies'],
        'js' => $library['js'],
        'css' => $library['css'],
      );
//将正确值加入静态缓存
 $added[$module][$name] = drupal_process_attached($elements, JS_LIBRARY, TRUE, $every_page);
    }
    else {
  //将错误值加入静态缓存    
     $added[$module][$name] = FALSE;
    }
  }
//如果已经被缓存,就直接返
 return $added[$module][$name];
}

你可能感兴趣的:(css)