поскольку 1.22.0
версия Twig
метод Twig_Environment::clearCacheFiles()
устарела. Однако я нигде не нашел (ни в документации, ни в билетах репо, ни здесь, на SO) что-то, что могло бы заменить этот устаревший метод.
Так какой же идиоматический (и не устаревший) способ очистить все файлы кэша сейчас?
Очистка этих файлов с помощью собственной функции выглядит довольно странно.
Так что нет нового идиоматического способа очистки всех файлов кэша.
Twig
сопровождающие проекта оставляют это для пользователей библиотеки самостоятельно. Аргументы:
Аргумент состоял в том, что сам Twig будет поддерживать только кэш файловой системы (из-за opcache). Таким образом, clear () будет таким же, как удаление папки кэша вручную. Таким образом, это не должно быть в интерфейсе. Таким образом, вы должны очистить кеш вручную или написать метод самостоятельно.
Более подробную информацию можно прочитать в актуальный вопрос рано упоминается @ alain-tiemblo в комментариях.
Вот устаревший метод из Twig, превращенный в обобщенную функцию, если вам интересно. Он удаляет только листовые узлы (файлы php, которые генерирует Twig), но оставляет каталоги. Вы хотите, чтобы убедиться, что вы идете по правильному пути.
function clearCacheFiles($cacheLocation) {
if (is_string($cacheLocation)) {
foreach (new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($cacheLocation),
\RecursiveIteratorIterator::LEAVES_ONLY) as $file
) {
if ($file->isFile()) {
@unlink($file->getPathname());
}
}
}
}
От Twig / Библиотека / Twig / Environment.php как оказалось, когда первый помечен как устаревший.