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];}
页:
[1]