2017-03-09 73 views
0

我正在使用Slim框架與枝條。在輸出html時,Twig中的緩存工作正常。枝 - 緩存json?

$response->getBody()->write(json_encode($data)); 

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

在修身容器我嫩枝設置:

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

顯然它不緩存JSON在所有的,但是當我輸出JSON這是行不通的。那麼可以讓Twig緩存json嗎?

任何想法?

回答

2

Twig的緩存是必需的,因爲您正在使用需要轉換爲PHP的特殊語言編寫文件。如果您查看cache/目錄中的文件,您會發現它們是您的Twig文件轉換爲PHP。

JSON不是一種特殊的語言,PHP具有從數組到JSON的內置對話(json_encode),因此不需要創建PHP版本,因此不需要用於JSON輸出的cache目錄。

最後,順便說一句,在超薄,您可以創建一個JSON輸出,:

return $response->withJson($data); 
+0

感謝您的回答,來搶! – laukok

+1

不客氣。隨意將答案標記爲已接受... –