所以我一直在寻找Sass和LESS的PHP项目.我一直认为CSS需要一些"可编程性"来符合体面的软件工程实践(定义一次并在任何地方使用它等)
所以几年前我开始用PHP编写CSS来生成CSS.这是一个(半人为的)片段:[myCSS.css.php]
<?php
header('Content-Type: text/css');
require_once 'Config.php';
echo <<<CSS
#container {
width: $containerWidth$widthUnits;
min-height: $containerHeight$heightUnits;
height: auto !important;
height: $containerHeight$heightUnits;
color: $containerFG;
background-color: $containerBG;
border-color: $containerBorder;
}
CSS
?>
Run Code Online (Sandbox Code Playgroud)
当你可以继续使用PHP并在你的代码和CSS中共享定义时,为什么要沿着Sass/LESS,Compass路径走?它还避免使用大量额外的工具来增加支持,维护,更新和培训的复杂性.
一个明显的反对意见是服务器上存在生成CSS输出的运行时开销.只有在.CSS.PHP文件发生变化时,PHP代码才能生成并提供CSS,这很容易解决 - 这是一种简单的缓存形式.
我有一个更复杂的缓存形式,其中单个CSS.PHP文件合并来自多个CSS源文件的内容,处理所有包含并将它们返回到客户端.这节省了多个HTTP GET,大大缩短了页面加载时间.如果有人有兴趣,我很乐意分享这些代码.它长约50行(代码,不包括注释).
我可以看到你可能被迫使用Saas/LESS如果你想要或必须使用Foundation或Bootstrap或类似的东西,但我认为答案就是拥有一个像样的基于PHP的响应框架.
那么,为什么我会选择Saas或LESS呢?