在css文档中使用php是个坏主意吗?

在css文档中使用php是个坏主意吗?,php,css,Php,Css,我已经创建了一个名为style.php的css页面,并将其包括在顶部: 这会让你畏缩吗。这是个糟糕的主意吗?我这样做是因为我创建了一个CMS,允许管理员控制页面上的颜色(因此style.php脚本查询数据库并获取十六进制值) 有什么想法吗?这是一个很好的解决方案,只需确保提供了适当的标题即可。请参阅相关主题(搜索“重要标题是”以转到右侧部分) 还有一件事: 使用缓存时,您可能会遇到这样的情况:用户更改了希望看到的颜色,但是(因为它是在客户端缓存的),页面不会更新。要使缓存无效,请在URL末尾附

我已经创建了一个名为style.php的css页面,并将其包括在顶部:

这会让你畏缩吗。这是个糟糕的主意吗?我这样做是因为我创建了一个CMS,允许管理员控制页面上的颜色(因此style.php脚本查询数据库并获取十六进制值)


有什么想法吗?

这是一个很好的解决方案,只需确保提供了适当的标题即可。请参阅相关主题(搜索“重要标题是”以转到右侧部分)

还有一件事:

使用缓存时,您可能会遇到这样的情况:用户更改了希望看到的颜色,但是(因为它是在客户端缓存的),页面不会更新。要使缓存无效,请在URL末尾附加?=id,其中id是为用户存储的数字(例如在会话中),并且在用户每次更改配色方案时递增

例如:

  • 首先,用户有一个
  • 当她改变颜色时,她会得到的url等等

假设您使用适当的缓存,正如我想象的那样,CMS驱动的值可能不会经常更改,没有具体的理由避免动态创建CSS包含。

这不是一个坏主意。这是一个有很多好处的创意:

  • 用户可以定义不需要担心安全性的值(解析css很困难)
  • 您可以强制执行一组视觉上更一致的皮肤(某些灵活性优于总体灵活性)
  • 易于编码
这不是一个坏主意(根据有关缓存+内容类型的说明),但请考虑启动PHP实例(mod_PHP)或将脚本传递给已经运行的PHP(fastcgi样式)的成本。你真的想要那笔开销吗


您最好将CSS页面的“缓存”版本写入一个静态文件,并提供该文件(或者如果您需要每页的灵活性,请选择要包含的样式表;我假设您的主页已经是PHP)

实际上,控制缓存的正确方法是使用Etag头,而不是查询字符串,使用查询字符串是启用缓存和控制缓存过期时间的一个巧妙技巧。请参阅以了解更多信息。是的,这不是“正确的RFC方式”,但它比ETag或修改自标头更容易实现(并获得正确的实现)。+1好的一点。见的评论。8个停机,7个停机(每天1个)–VonC