【发布时间】:2012-02-26 03:13:36
【问题描述】:
假设我出于某种原因想通过 PHP 提供我的 CSS(因为预处理、合并等)。我需要在我的 PHP 中做什么才能使其正常工作?除了最明显的:
header('content-type: text/css; charset=utf-8');
与缓存、修改时间、etags 等相关的标头呢?我应该使用哪些,为什么以及如何使用?我将如何解析传入的标头并做出适当的响应(例如 304 Not Modified)?
注意:我知道这可能会很棘手,而且在将 CSS 部署为常规 CSS 文件之前,只需对 CSS 执行我想做的事情会容易得多。如果我想那样做,我就不会问这个问题。我很好奇如何正确地做到这一点,并想知道。我事先用 CSS 做什么或可以做什么是无关紧要的;我只是想知道如何正确地为它服务:)
注意 2:我真的很想知道如何正确地做到这一点。我觉得关于这个问题的大部分活动都变成了我为自己为什么要这样做而辩护,而不是获得有关如何做到这一点的答案。如果有人能回答我的问题而不仅仅是建议像 SASS 这样的东西,我将非常感激。我确信它很棒,我可能会在某个时候尝试一下,但这不是我现在要问的。我想知道如何通过 PHP 提供 CSS,并学习如何正确处理缓存和类似的事情。
【问题讨论】:
-
我完全支持这一事业,即使我们确实有可能更适合该任务的 CSS 预处理器或压缩器。至少,
readfile()比@import以简单的方式组合 CSS 文件要快得多,而且人们一直在使用@import。 -
谢谢。似乎一些实际的答案现在已经开始出现在这里! 读取...
-
@WesleyMurch 出于这个原因,这样做的每个人都很清楚:像 LESS 这样的适当预处理器可以让您将多个 CSS 文件预编译成一个文件,因此
@import不是问题。