You are here

interface FileCacheInterface in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Component/FileCache/FileCacheInterface.php \Drupal\Component\FileCache\FileCacheInterface
  2. 9 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

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