2017-04-13 162 views
0

這裏是我使用的控制器編碼:緩存響應

  • 發送用戶到主視圖
  • 產生含有最終的響應代碼(緩存)的HTML文件

這將是有關緩存的正確方法?我不確定倒帶功能是否適用。請賜教:

public function index(Request $request, Response $response) 
    { 
     $view = '/src/views/home.php'; 

     $this->render($response, Settings::ABSPATH . $view); 
     $body = $response->getBody(); 
     $body->rewind(); 
     $html = $body->getContents(); 
     file_put_contents(Settings::ABSPATH . '/tmp/cachePages/home.html', $html); 
     return; 
    } 
+0

這是Slim3的權利? – jmattheis

+0

是的,這是苗條的3 –

回答

0

當只有從呈現的頁面的響應,你可以使用的方法PhpRenderer::fetch()。返回渲染輸出,這樣你就不會需要做的Response -object

$view = Settings::ABSPATH . '/src/views/home.php'; 
$html = $renderer->fetch($view); 

另一種選擇這東西是使用已爲高速緩存提供functionallity的Twig-View