Что такое идиоматический способ очистить весь кеш в Twig начиная с 1.22.x?

поскольку 1.22.0 версия Twigметод Twig_Environment::clearCacheFiles() устарела. Однако я нигде не нашел (ни в документации, ни в билетах репо, ни здесь, на SO) что-то, что могло бы заменить этот устаревший метод.

Так какой же идиоматический (и не устаревший) способ очистить все файлы кэша сейчас?

Очистка этих файлов с помощью собственной функции выглядит довольно странно.

5

Решение

Так что нет нового идиоматического способа очистки всех файлов кэша.
Twig сопровождающие проекта оставляют это для пользователей библиотеки самостоятельно. Аргументы:

Аргумент состоял в том, что сам Twig будет поддерживать только кэш файловой системы (из-за opcache). Таким образом, clear () будет таким же, как удаление папки кэша вручную. Таким образом, это не должно быть в интерфейсе. Таким образом, вы должны очистить кеш вручную или написать метод самостоятельно.

Более подробную информацию можно прочитать в актуальный вопрос рано упоминается @ alain-tiemblo в комментариях.

1

Другие решения

Вот устаревший метод из 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 как оказалось, когда первый помечен как устаревший.

0

По вопросам рекламы [email protected]