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



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

你可以在这里看到我的源代码:

  1. 索引文件:

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

  1. 缓存中间件:

https://github.com/Damian89/slim-filecaching/blob/master/Caching.slim.php

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

如果将以下代码直接放在第一个路由的上方,它将起作用:

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

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

有什么想法吗?

谢谢!

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

在中间件中,您将SLIM_PAGE_CACHER标头与值为 0CACHE_ENABLED标头进行比较。这变成了:

$this->skip_caching (1 == 0); /* This evaluates to false */

这意味着skip_caching为假,页面将被缓存。

通常,最好避免代码中的双重否定。它们使代码难以阅读和理解。遵循惯例并假设1 === true0 === false也是个好主意,反之亦然。

最新更新