Same name and namespace in other branches
  1. 4.7.x includes/bootstrap.inc \variable_init()
  2. 5.x includes/bootstrap.inc \variable_init()
  3. 6.x includes/bootstrap.inc \variable_init()

Load the persistent variable table.

The variable table is composed of values that have been saved in the table with variable_set() as well as those explicitly specified in the configuration file.

1 call to variable_init()
bootstrap.inc in includes/bootstrap.inc
Functions that need to be loaded on every Drupal request.

File

includes/bootstrap.inc, line 121
Functions that need to be loaded on every Drupal request.

Code

function variable_init($conf = array()) {

  // NOTE: caching the variables improves performance with 20% when serving cached pages.
  if ($cached = cache_get('variables')) {
    $variables = unserialize($cached->data);
  }
  else {
    $result = db_query('SELECT * FROM {variable}');
    while ($variable = db_fetch_object($result)) {
      $variables[$variable->name] = unserialize($variable->value);
    }
    cache_set('variables', serialize($variables));
  }
  foreach ($conf as $name => $value) {
    $variables[$name] = $value;
  }
  return $variables;
}