我创建了一个叫做style.php CSS页面,这包括顶部:在css文档中使用php是一个坏主意吗?
<?php header("Content-type: text/css"); ?>
这是否让你畏缩。这是一个可怕的主意吗?我这样做是因为我创建了一个允许管理员控制页面颜色的CMS(所以style.php脚本查询数据库并获取十六进制值)。
有什么想法?
我创建了一个叫做style.php CSS页面,这包括顶部:在css文档中使用php是一个坏主意吗?
<?php header("Content-type: text/css"); ?>
这是否让你畏缩。这是一个可怕的主意吗?我这样做是因为我创建了一个允许管理员控制页面颜色的CMS(所以style.php脚本查询数据库并获取十六进制值)。
有什么想法?
这是一个很好的解决方案,只要确保您正在提供适当的标题。有关相关主题,请参阅my blogpost(搜索“重要标题”以进入正确的部分)。
一件事:
随着你可能会进入一用户改变她想看到的颜色,但(因为它是在客户端缓存),该网页不更新的情况缓存。要使缓存失效,请在URL末尾附加一个?= id,其中ID是为用户存储的数字(例如在会话中),并且每次更改颜色方案时都会增加。
例子:
假设您使用适当的缓存,正如我想象的CMS驱动的值可能不会经常更改,没有具体的理由来避免创建一个CSS动态包含。
这不是一个坏主意。这是许多好处一个创造性的想法:W/O你不必担心安全(解析CSS是硬)
这不是一个坏主意(受有关缓存+内容类型)的音符,但想想发射了一个PHP实例的成本(mod_php的)或将脚本传递给已经运行的php(fastcgi样式)。你真的想要那个开销吗?
将一个“缓存”版本的CSS页面写入一个静态文件并提供它(或者如果您需要每页灵活性,选择要包含的样式表;我假设您的主页是PHP已经)
实际上,控制缓存的正确方法是使用Etag头,而不是查询字符串。 – 2009-02-15 06:56:21
实际上,当缓存过期时,使用查询字符串是一个很好的技巧来启用缓存和控制。有关更多信息,请参阅http://developer.yahoo.com/performance/rules.html#expires。 – 2009-02-15 07:22:24