PHP:Slim Framework - 每个路由使用不同的响应头

时间:2015-04-09 23:23:53

标签: php slim

是否可以在每个路由中使用不同的响应头?

您可以在此处查看我的源代码:

  1. INDEXFILE:
  2. https://github.com/Damian89/slim-filecaching/blob/master/index.php

    1. 缓存中间件:
    2. https://github.com/Damian89/slim-filecaching/blob/master/Caching.slim.php

      我有两条简单的路线。我喜欢仅在第一种情况下使用缓存,而不是第二种情况 - 但它不起作用。

      如果您将以下代码直接放在第一条路线的上方:

      $app->response->headers->set( PageCaching::SLIM_PAGE_CACHER, PageCaching::CACHE_ENABLED);
      

      但在这种情况下,两个路由都被缓存。

      有什么想法吗?

      谢谢!

1 个答案:

答案 0 :(得分:1)

对我来说,看起来中间件中的缓存逻辑是相反的。在/no-cache/路线中,您将SLIM_PAGE_CACHER标题设置为CACHE_DISABLED,其值为1

在中间件中,您将SLIM_PAGE_CACHER标头与值CACHE_ENABLED的{​​{1}}进行比较。这变为:

0

这意味着$this->skip_caching (1 == 0); /* This evaluates to false */ 为false,页面将被缓存。

一般来说,最好避免在代码中出现双重否定。它们使代码难以阅读和理解。遵循惯例并假设为skip_caching1 === true,反之亦然。