class SchemaCache

Extends DrupalCacheArray to allow for dynamic building of the schema cache.

Hierarchy

Expanded class hierarchy of SchemaCache

Members

Contains filters are case sensitive
Namesort descending Modifiers Type Description
DrupalCacheArray::$bin protected property A bin to pass to cache_set() and cache_get().
DrupalCacheArray::$cid protected property A cid to pass to cache_set() and cache_get().
DrupalCacheArray::$keysToPersist protected property An array of keys to add to the cache at the end of the request.
DrupalCacheArray::$storage protected property Storage for the data itself.
DrupalCacheArray::offsetExists public function Implements ArrayAccess::offsetExists().
DrupalCacheArray::offsetGet public function Implements ArrayAccess::offsetGet().
DrupalCacheArray::offsetSet public function Implements ArrayAccess::offsetSet().
DrupalCacheArray::offsetUnset public function Implements ArrayAccess::offsetUnset().
DrupalCacheArray::persist protected function Flags an offset value to be written to the persistent cache.
DrupalCacheArray::set protected function Writes a value to the persistent cache immediately.
DrupalCacheArray::__destruct public function Destructs the DrupalCacheArray object.
SchemaCache::resolveCacheMiss protected function Overrides DrupalCacheArray::resolveCacheMiss(). Overrides DrupalCacheArray::resolveCacheMiss
SchemaCache::__construct public function Constructs a SchemaCache object. Overrides DrupalCacheArray::__construct

File

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

View source
class SchemaCache extends DrupalCacheArray {

  /**
   * Constructs a SchemaCache object.
   */
  public function __construct() {
    // Cache by request method.
    parent::__construct('schema:runtime:' . ($_SERVER['REQUEST_METHOD'] == 'GET'), 'cache');
  }

  /**
   * Overrides DrupalCacheArray::resolveCacheMiss().
   */
  protected function resolveCacheMiss($offset) {
    $complete_schema = drupal_get_complete_schema();
    $value = isset($complete_schema[$offset]) ? $complete_schema[$offset] : NULL;
    $this->storage[$offset] = $value;
    $this->persist($offset);
    return $value;
  }
}

Related topics