ThemeRegistry::__construct($cid, CacheBackendInterface$cache, LockBackendInterface$lock,$tags= array(),$modules_loaded= FALSE)
Constructs a ThemeRegistry object.
string $cid: The cid for the array being cached.
\Drupal\Core\Cache\CacheBackendInterface $cache: The cache backend.
\Drupal\Core\Lock\LockBackendInterface $lock: The lock backend.
array $tags: (optional) The tags to specify for the cache item.
bool $modules_loaded: Whether all modules have already been loaded.
Overrides CacheCollector::__construct
function __construct($cid, CacheBackendInterface $cache, LockBackendInterface $lock, $tags = array(), $modules_loaded = FALSE) { $this->cid = $cid; $this->cache = $cache; $this->lock = $lock; $this->tags = $tags; $this->persistable = $modules_loaded && \Drupal::hasRequest() && \Drupal::request()->isMethod('GET'); // @todo: Implement lazyload. $this->cacheLoaded = TRUE; if ($this->persistable && $cached = $this->cache->get($this->cid)) { $this->storage = $cached->data; } else { // If there is no runtime cache stored, fetch the full theme registry, // but then initialize each value to NULL. This allows offsetExists() // to function correctly on non-registered theme hooks without triggering // a call to resolveCacheMiss(). $this->storage = $this->initializeRegistry(); foreach (array_keys($this->storage) as $key) { $this->persist($key); } // RegistryTest::testRaceCondition() ensures that the cache entry is // written on the initial construction of the theme registry. $this->updateCache(); } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Utility!ThemeRegistry.php/function/ThemeRegistry::__construct/8.1.x