用php减少/ sass

时间:2011-02-13 19:28:43

标签: php sass less

我是前端开发人员,最近考虑过使用SASS或LESS进行CSS开发。

但是,我不使用Ruby,而且我不想依赖拥有JavaScript活动的用户。有没有人有任何使用PHP项目使用SASS或LESS的技巧?

11 个答案:

答案 0 :(得分:26)

下载最新版本的 lessphp here

以下是我如何尝试的示例:

<?php
require 'lessc.inc.php';

$less = new lessc('test.less');
file_put_contents('test.less.css', $less->parse());

?>
<html>
<head>
    <title>Less CSS</title>
    <link rel="stylesheet" href="test.less.css" type="text/css" />
</head>
<body>
    <h1>This isn't supposed to be black!</h1>
</body>
</html>

我的test.less文件:

@color : #33ddff;
.colorful(@textcolor : red){
    color : @textcolor;
}
h1{
    .colorful(@color);
}

它适用于我,它是PHP!

答案 1 :(得分:10)

您现在有两种选择:

两者都有详细记录。我鼓励你试一试,告诉我你是否有任何麻烦。

答案 2 :(得分:5)

安装Ruby。安装SASS。使用SASS。

它输出静态文件,因此您只需将其作为构建/发布过程的一部分上传它们。

答案 3 :(得分:2)

看看这个教程: http://net.tutsplus.com/tutorials/php/how-to-squeeze-the-most-out-of-less/

(谷歌搜索'少php'时的第4个条目)

答案 4 :(得分:2)

PHP需要很多资源...好吧很多是相对的,但无论如何,你应该对输出css进行处理。 如果您使用的是Mac,请使用LESSapp。如果您使用的是Windows,请使用dotLEss(实际上它是一个库,可以集成到多个.NET项目中,但它有一个小命令行编译器,输出有效CSS文件)

答案 5 :(得分:2)

作为我工作的一部分,我确实使用sass与php。

您可以尝试PhamlP,因为这是我使用的。 PhamlPHamlSassPHP的端口。

您可以让每个页面加载运行sass解析器,也可以让它缓存它生成的css

Here is the same question question being asked.如果您想查看更多选项

答案 6 :(得分:2)

您可以使用PhpLessDemandBridge:https://github.com/andyhausmann/PhpLessDemandBridge

您只需在模板中使用它,例如:

<link rel="stylesheet" type="text/css" media="all"  href="css/engine/css.php?file=bootstrap.less" />

引擎可以通过配置文件进行配置,您可以在其中定义较少的文件和缓存文件。

通过定义“css.php?file = bootstrap.less”,您可以将引擎指向引导程序文件,该文件可导入其他较少的文件,例如Twitter Bootstrap等。

我将它用于Magento,TYPO3 CMS等等。

在第一行中,我包含了Twitter Bootstrap所需的部分 - 之后我将包含我自己的主题和覆盖。

答案 7 :(得分:2)

如果你正在使用WordPress,你一定要查看WP LESS。我所要做的就是指定.less文件wp_register_stylewp_enqueue_style甚至add_editor_style,并将您的LESS代码编译为CSS代码。它还会缓存生成的CSS,因此您不会在每次加载页面时都有LESS编译的开销。

答案 8 :(得分:1)

现在还有另外一个可用的编译器:less.php

答案 9 :(得分:1)

我在一些项目上有http://leafo.net/scssphp/。这对我很有用,这就是我的工作。

将scssphp安装到lib / scssphp /

在.htaccess

#Sass Parser: anything /css/FILENAME.css -> FILENAME.scss
RewriteRule ^css/(.*).css?$ style.php/$1.scss [NC,L]

在根文件夹中,我有style.php:

<?php
    require "lib/scssphp/scss.inc.php";
    $scss = new scssc();
    $scss->setFormatter("scss_formatter");
    $server = new scss_server("ui", null, $scss);
    $server->serve();       
?>

在我的HTML中,我使用:

<link rel="stylesheet" href="/css/style.css">

在/ ui我有我的实际SCSS代码文件:/ui/style.scss

一切正常。 SCSSPHP只检查文件是否需要重新编译并透明地执行,否则发送缓存版本。

答案 10 :(得分:0)

为什么不使用PHP本身来动态生成CSS?以下是10个很好的理由:

  1. LESS提供了一种笨拙,不熟悉的循环形式 - 而PHP提供了4种形式的熟悉的原生循环(do,while,for,foreach)。

  2. LESS提供了1种笨拙,不熟悉的变量形式 - 而PHP提供了6到12种熟悉的本机数据结构:变量,数组,关联数组/散列表,数组/多维数组数组,对象和数据库记录集。标准PHP库还提供堆,堆栈,队列,映射,双链表和固定数组。

  3. LESS不提供条件 - 而PHP提供4种熟悉的本机形式的条件:if-then,if-then-else,case / switch和三元运算符。

  4. LESS提供了一种笨拙,不熟悉的包含文件(导入)的形式 - 而PHP提供了两种熟悉的原生形式:include和require。

  5. LESS提供了各种笨拙,不熟悉的CSS结构形式 - 而PHP提供了熟悉的,原生的,面向对象的结构化代码形式。

  6. LESS要求学习一种新的编程语言,并随着时间的推移随之改变 - 而PHP会利用您现有的知识。

  7. LESS使您的代码可读性降低且不太一致 - 而在PHP中预处理CSS可使代码保持一致并使其更具可读性。

  8. LESS需要额外的“编译”/预处理步骤,并且需要维护CSS文件的多个版本 - 而PHP可以从单个源动态生成CSS(如果你不是关注性能)或者它可以生成最终的“编译”/预处理版本,就像LESS预处理器一样(如果你担心性能)。

  9. LESS需要下载和安装第三方预处理器 - 而PHP已经提供了这些功能。

  10. LESS只能用于CSS - 而PHP可用于动态生成CSS,HTML,JavaScript,jQuery等。

  11. 像LESS和SASS这样的CSS预处理器可能是绝望的前端开发人员的救星,无法访问像PHP这样的后端工具。但是对于PHP开发人员来说,这些都会适得其反并且不那么强大。在我的拙见中,这似乎是流行语狂热和附加狂热。 PHP旨在提供LESS的所有功能以及更多功能。