<?php /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Twig\Cache; /** * Interface implemented by cache classes. * * It is highly recommended to always store templates on the filesystem to * benefit from the PHP opcode cache. This interface is mostly useful if you * need to implement a custom strategy for storing templates on the filesystem. * * @author Andrew Tch <andrew@noop.lv> */ interface CacheInterface { /** * Generates a cache key for the given template class name. */ public function generateKey(string $name, string $className): string; /** * Writes the compiled template to cache. * * @param string $content The template representation as a PHP class */ public function write(string $key, string $content): void; /** * Loads a template from the cache. */ public function load(string $key): void; /** * Returns the modification timestamp of a key. */ public function getTimestamp(string $key): int; }