缓存响应

时间:2017-04-13 10:43:13

标签: slim

以下是我用于的控制器代码:

  • 将用户发送到主页视图
  • 生成包含最终响应代码的(缓存)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;
    }

1 个答案:

答案 0 :(得分:0)

如果只有渲染页面的响应,您可以使用方法PhpRenderer::fetch()。这将返回渲染的输出,因此您无需在Response - 对象

上执行此操作
$view = Settings::ABSPATH . '/src/views/home.php';
$html = $renderer->fetch($view);

另一种选择是使用已经为缓存提供功能的Twig-View