Twig - 缓存 json?

Twig - cache json?

我正在使用带有 Twig 的 Slim Framework。当我输出 html 时,Twig 中的缓存工作正常。但是当我输出 json:

时它不起作用
$response->getBody()->write(json_encode($data));

return $response->withHeader('Content-type', 'application/json');

我在 Slim 容器中的 Twig 设置:

$twig = new Twig_Environment($loader, array(
    'cache' => 'cache/',
));

显然它根本不缓存 json。那么是否可以缓存 Twig json?

有什么想法吗?

需要 Twig 的缓存,因为您正在用需要翻译成 PHP 的特殊语言编写文件。如果查看 cache/ 目录中的文件,您会发现它们是转换为 PHP.

的 Twig 文件

JSON 不是一种特殊语言,PHP 具有从数组到 JSON (json_encode) 的内置对话,因此无需创建PHP 版本,因此 JSON 输出不需要 cache 目录。

最后,顺便说一句,在 Slim 中,您可以创建一个 JSON 输出:

return $response->withJson($data);