ThemeRegistry
class ThemeRegistry extends CacheCollector implements DestructableInterface (View source)
Builds the run-time theme registry.
A cache collector to allow the theme registry to be accessed as a complete registry, while internally caching only the parts of the registry that are actually in use on the site. On cache misses the complete theme registry is loaded and used to update the run-time cache.
Properties
| protected string | $cid | The cache id that is used for the cache entry. |
from CacheCollector |
| protected array | $tags | A list of tags that are used for the cache entry. |
from CacheCollector |
| protected CacheBackendInterface | $cache | The cache backend that should be used. |
from CacheCollector |
| protected LockBackendInterface | $lock | The lock backend that should be used. |
from CacheCollector |
| protected array | $keysToPersist | An array of keys to add to the cache on service termination. |
from CacheCollector |
| protected array | $keysToRemove | An array of keys to remove from the cache on service termination. |
from CacheCollector |
| protected array | $storage | Storage for the data itself. |
from CacheCollector |
| protected int | $cacheCreated | Stores the cache creation time. |
from CacheCollector |
| protected bool | $cacheInvalidated | Flag that indicates of the cache has been invalidated. |
from CacheCollector |
| protected bool | $cacheLoaded | Indicates if the collected cache was already loaded. |
from CacheCollector |
| protected bool | $persistable | Whether the partial registry can be persisted to the cache. |
|
| protected | $completeRegistry | The complete theme registry array. |
Methods
Constructs a ThemeRegistry object.
Returns whether data exists for this key.
Gets value from the cache.
Implements \Drupal\Core\Cache\CacheCollectorInterface::set().
Flags an offset value to be written to the persistent cache.
Resolves a cache miss.
Writes a value to the persistent cache immediately.
Normalizes a cache ID in order to comply with database limitations.
Initializes the full theme registry.
Details
__construct(string $cid, CacheBackendInterface $cache, LockBackendInterface $lock, array $tags = [], bool $modules_loaded = FALSE)
Constructs a ThemeRegistry object.
protected string
getCid()
Gets the cache ID.
has(string $key)
Returns whether data exists for this key.
mixed
get(string $key)
Gets value from the cache.
set(string $key, mixed $value)
Implements \Drupal\Core\Cache\CacheCollectorInterface::set().
This is not persisted by default. In practice this means that setting a value will only apply while the object is in scope and will not be written back to the persistent cache. This follows a similar pattern to static vs. persistent caching in procedural code. Extending classes may wish to alter this behavior, for example by adding a call to persist().
delete(string $key)
Deletes the element.
It depends on the specific case and implementation whether this has a permanent effect or if it just affects the current request.
protected
persist(string $key, bool $persist = TRUE)
Flags an offset value to be written to the persistent cache.
mixed
resolveCacheMiss(string $key)
Resolves a cache miss.
When an offset is not found in the object, this is treated as a cache miss. This method allows classes using this implementation to look up the actual value and allow it to be cached.
protected
updateCache(bool $lock = TRUE)
Writes a value to the persistent cache immediately.
protected string
normalizeLockName(string $cid)
Normalizes a cache ID in order to comply with database limitations.
reset()
Resets the local cache.
Does not clear the persistent cache.
clear()
Clears the collected cache entry.
destruct()
Performs destruct operations.
protected
lazyLoadCache()
Loads the cache if not already done.
protected
invalidateCache()
Invalidate the cache.
An
initializeRegistry()
Initializes the full theme registry.