Php 变量较少的CSS文件

Php 变量较少的CSS文件,php,less,lessphp,Php,Less,Lessphp,我需要创建自定义的网页模板,并给我的客户形式配置的风格 我在LESS中创建了网站样式,当客户更改表单中的某些设置(并单击提交)时,PHP会根据较少的代码和客户设置动态创建CSS文件 我正在使用。但是从LESS动态生成CSS非常慢。这就是为什么我想用更少的变量创建“CSS文件”,我想从带有变量的“CSS文件”自动生成最终的CSS文件,并且只使用stru replace()将变量更改为值。这将是更快的解决方案 例如: 更少的文件 @color: red; .container { .box

我需要创建自定义的网页模板,并给我的客户形式配置的风格

我在LESS中创建了网站样式,当客户更改表单中的某些设置(并单击提交)时,PHP会根据较少的代码和客户设置动态创建CSS文件

我正在使用。但是从LESS动态生成CSS非常慢。这就是为什么我想用更少的变量创建“CSS文件”,我想从带有变量的“CSS文件”自动生成最终的CSS文件,并且只使用stru replace()将变量更改为值。这将是更快的解决方案

例如:

更少的文件

@color: red;
.container {
    .box {color: @color; }
}
.container .box {color: red; }
最终CSS文件

@color: red;
.container {
    .box {color: @color; }
}
.container .box {color: red; }
但我需要生成变量较少的CSS文件,如下所示:

.container .box {color: @color; }

如何生成这样的文件?

您似乎不理解LESS是什么,LESS是一个将代码编译成CSS的CSS预处理器。CSS不支持变量,所以您所问的问题实际上没有意义。您正在使用较少的PHP,但实际上您希望删除该功能。这个问题对我来说毫无意义。

我的回答不会给你想要的,但可能会改变你的想法

实际上,您现在所做的是好的,但是正如您所说的,始终为每个用户编译它对每个人都是有害的。这就是为什么您应该实现缓存机制。将编译(最终)的CSS保存为服务器上的文件,并将用户指向该文件。在编译脚本中添加代码,检查缓存文件是否比一天(或一小时,但不少于一天)旧。如果是旧的,则编译新的

这样,一天只编译一次。例如,Day

如果没有缓存版本,也可以将其设置为“始终编译”。如果您正在更改很多内容,那么这将非常有用,您可以删除缓存的CSS并生成新的CSS

如果您有一些管理面板,其中包含一些可以更改较少文件的内容,那么只需在执行的代码中添加另一行即可强制重新编译或删除(
unlink()
)缓存文件


缓存是一种祝福,它对您、您的用户和您的服务器都有好处

您可以发布您迄今为止尝试过的代码吗?(less.php的内容)简而言之,没有办法从更少的源代码生成这样的文件(只是因为没有这样的工具)。唯一的方法是手动编写。据我所知,OP希望的是少预编译到CSS中,但保留变量,因此他可以在将CSS发送给用户之前,只编译
str_replace()
变量,从而节省大量时间。他只是不知道如何预编译它,但是留下了变量。我明白了,但是为什么他要用更少的.php来实现这个呢?不需要整个文件,对吗@因为LESS有很多选项,所以它是有意义的,但我不想简单的“LESS to CSS”,我想从LESS创建我的特殊的“CSS”,只为管理面板(设置表单)使用较少的变量,多亏了这个文件,我可以创建快速定制,之后,我可以生成最终的CSS文件到网站的前面。但这个设置表单只供管理员使用(管理面板中的模板选项)。在设置表单中单击“提交”后,customizer将在CSS文件中生成并保存样式(从LESS),但当管理员在设置表单和LESS.php中更改某些内容时,此操作将开始工作。。。它工作得很慢。管理员完成更改后,网站的前端只使用CSS文件,并且工作正常(快速)。