interface FileCacheInterface

Same name in other branches
  1. 9 core/lib/Drupal/Component/FileCache/FileCacheInterface.php \Drupal\Component\FileCache\FileCacheInterface
  2. 8.9.x core/lib/Drupal/Component/FileCache/FileCacheInterface.php \Drupal\Component\FileCache\FileCacheInterface
  3. 10 core/lib/Drupal/Component/FileCache/FileCacheInterface.php \Drupal\Component\FileCache\FileCacheInterface

Interface for objects that allow caching file data.

Parsing YAML, annotations or similar data out of files can be a time-consuming process, especially since those files usually don't change and identical data is parsed over and over again.

File cache is a self-contained caching layer for such processing, that relies on the file modification to ensure that cached data is still up to date and does not need to be invalidated externally.

Hierarchy

Expanded class hierarchy of FileCacheInterface

All classes that implement FileCacheInterface

3 files declare their use of FileCacheInterface
AttributeClassDiscovery.php in core/lib/Drupal/Component/Plugin/Discovery/AttributeClassDiscovery.php
InfoParser.php in core/lib/Drupal/Core/Extension/InfoParser.php
LibraryDiscoveryParser.php in core/lib/Drupal/Core/Asset/LibraryDiscoveryParser.php

File

core/lib/Drupal/Component/FileCache/FileCacheInterface.php, line 16

Namespace

Drupal\Component\FileCache
View source
interface FileCacheInterface {
    
    /**
     * Gets data based on a filename.
     *
     * @param string $filepath
     *   Path of the file that the cached data is based on.
     *
     * @return mixed|null
     *   The data that was persisted with set() or NULL if there is no data
     *   or the file has been modified.
     */
    public function get($filepath);
    
    /**
     * Gets data based on filenames.
     *
     * @param string[] $filepaths
     *   List of file paths used as cache identifiers.
     *
     * @return array
     *   List of cached data keyed by the passed in file paths.
     */
    public function getMultiple(array $filepaths);
    
    /**
     * Stores data based on a filename.
     *
     * @param string $filepath
     *   Path of the file that the cached data is based on.
     * @param mixed $data
     *   The data that should be cached.
     */
    public function set($filepath, $data);
    
    /**
     * Deletes data from the cache.
     *
     * @param string $filepath
     *   Path of the file that the cached data is based on.
     */
    public function delete($filepath);

}

Members

Title Sort descending Modifiers Object type Summary Overrides
FileCacheInterface::delete public function Deletes data from the cache. 2
FileCacheInterface::get public function Gets data based on a filename. 2
FileCacheInterface::getMultiple public function Gets data based on filenames. 2
FileCacheInterface::set public function Stores data based on a filename. 2

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.