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

时间:2009-02-15 06:44:46

标签: php css

我创建了名为style.php的css页面,其中包含了top:

<?php header("Content-type: text/css"); ?>

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

有什么想法吗?

4 个答案:

答案 0 :(得分:5)

这不是一个坏主意(取决于缓存+内容类型的注释),但考虑启动PHP实例(mod_php)或将脚本传递给已经运行的php(fastcgi样式)的成本。你真的想要那个开销吗?

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

答案 1 :(得分:4)

这是一个很好的解决方案,只需确保您提供适当的标头。有关相关主题,请参阅my blogpost(搜索“重要标题是”以获取正确的部分)。

还有一件事:

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

示例:

答案 2 :(得分:1)

假设您使用了适当的缓存,因为我认为CMS驱动的值可能不会经常发生变化,因此没有特别的理由避免动态创建CSS包含。

答案 3 :(得分:1)

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

  • 您的用户可以定义您需要担心安全性的值(解析css很难)
  • 您可以强制执行更具视觉效果的一组皮肤(一些灵活性优于总灵活性)
  • 简单代码