Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实现动态CSS&;的最佳方法是什么;SVG值(PHP)?_Php_Mysql_Css_Svg - Fatal编程技术网

实现动态CSS&;的最佳方法是什么;SVG值(PHP)?

实现动态CSS&;的最佳方法是什么;SVG值(PHP)?,php,mysql,css,svg,Php,Mysql,Css,Svg,我正在开发一个基本的系统,用于保存多个域上的页面。我打算在DB中填充值,并使用这些值生成页面 我将使用的值包括颜色值,然后将其注入CSS文件和SVG文件 目前,我正在考虑使用.htaccess作为PHP处理.css/.svg,并从中输入值,但是有没有一种更高效、更优雅的方法,而不必将这些文件格式作为PHP处理 谢谢你的建议 非常感谢。我认为最好是全部使用PHP(或至少是服务器端)。您可以使用PHP输出CSS和SVG。您可以为其中任何一个创建文件,并像PHP一样执行它们。大多数内容都是静态的,但在

我正在开发一个基本的系统,用于保存多个域上的页面。我打算在DB中填充值,并使用这些值生成页面

我将使用的值包括颜色值,然后将其注入CSS文件和SVG文件

目前,我正在考虑使用.htaccess作为PHP处理.css/.svg,并从中输入值,但是有没有一种更高效、更优雅的方法,而不必将这些文件格式作为PHP处理

谢谢你的建议


非常感谢。

我认为最好是全部使用PHP(或至少是服务器端)。您可以使用PHP输出CSS和SVG。您可以为其中任何一个创建文件,并像PHP一样执行它们。大多数内容都是静态的,但在一些地方可以使用PHP填写值

对于CSS,您可以查看LessCSS(或lesshp)


无论如何,我永远不会使用Javascript来实现这一点。至少,不是客户端Javascript:)这通常应该在服务器上完成。

我一直在考虑这样做。但是在我的例子中,我使用了一个叫做MODx的CMS

您可以在MODx中创建一个css文件,然后在调用它时使用php代码段填充css文件。我的想法是让大部分css文件不是动态的,然后根据用户所在的页面、我发送的变量等,使用一个或多个php片段返回特定的css


个人提示:MODx是一个超级强大的CMS,您可以用它做几乎任何事情。

免责声明:我没有真正使用svg,但从一些示例代码来看,我认为这与我的答案无关

你的css文件中有些关于php的东西我不太理解。我以前试过,但它并没有让事情变得容易。默认情况下,CSS文件不会解析php,即使您可以让它们解析,也很容易忘记如何设置。下面是我将如何处理它

如果每个页面的css部分不同,那么在html/svg页面的头部声明这一点是有意义的。您可以将默认样式表与几乎所有样式相链接,然后只覆盖页面头部的特定颜色值。或者甚至是内联的,如果这使输出更容易的话。您不必担心在同一页面的多个文件中有php输出


或者,如果要重用的样式集有限,那么在同一个文件中为它们指定所有类名没有什么错。然后,您可以使用php输出类名,并对所有内容使用相同的css文件。这将使您保持组织,并且文件必须非常大,未使用的类才能影响性能。

我应该添加,JavaScript对此有用吗?您可以编辑您的问题以获得类似的添加。谢谢。我目前正在编写一个脚本,使SVG文件能够运行(它是一个基本的渐变,1kb)。CSS可以用同样的方法制作。如果扩展到包含多个页面/扩展CSS,只需担心性能。如果我在每次请求时都重新编写CSS/SVG,那么如果这些文件的总容量小于10kb,性能会严重下降吗?好吧,您不必在每次请求时都将它们写入磁盘。你可以把它们放在水槽里。另一种方法是:如果确实将它们写入磁盘,则不必在每次请求时生成它们。您可以缓存生成的文件,并使用file\u put\u内容或其他方式完成该操作。只需检查自上次请求以来源文件是否已更改。如果你有MemCache或MySQL内存表,你也可以用它来缓存。我不会太担心。只有当你同时拥有数百名访问者时,你才需要这种缓存。通常这根本不是问题。您的常规页面也是使用PHP生成的,不是吗?谢谢大家。是的,我现在要把它们写出来,如果它增长了,我会引入缓存或时间戳检查。再次感谢!:)