21

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

但是,我不使用 Ruby,也不想依赖激活 JavaScript 的用户。有人对使用 PHP 项目使用 SASS 或 LESS 有任何提示吗?

4

11 回答 11

27

在此处下载最新版本的lessphp

这是我如何尝试的示例:

<?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!

于 2011-06-01T10:50:46.097 回答
10

你现在有我写的两个选项:

两者都有很好的记录。我鼓励您尝试一下,如果您有任何问题,请告诉我。

于 2012-08-01T21:49:19.320 回答
4

安装红宝石。安装 SASS。使用 SASS。

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

于 2011-02-13T19:31:44.580 回答
2

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

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

于 2011-02-13T19:43:58.240 回答
2

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

于 2011-02-17T10:41:07.133 回答
2

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

您可以尝试PhamlP,因为这是我使用的。PhamlPHamlSass的港口PHP

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

这是被问到的相同问题。如果您想查看更多选项

于 2011-03-30T13:55:58.300 回答
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 所需的部分——之后我包含了我自己的主题和覆盖。

于 2012-10-13T10:25:57.257 回答
2

如果您正在使用 WordPress,您绝对应该查看WP LESS。您需要做的就是用or或 even指定一个.less文件,它会为您将 LESS 代码编译成 CSS 代码。它还缓存生成的 CSS,因此您无需在每次页面加载时都进行 LESS 编译的开销。wp_register_stylewp_enqueue_styleadd_editor_style

于 2013-04-24T05:51:03.867 回答
1

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

于 2013-09-18T02:37:17.277 回答
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 只是检查文件是否需要重新编译并透明地执行,否则发送缓存的版本。

于 2014-12-02T17:58:27.343 回答
0

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

  1. LESS 提供了 1 种笨拙、不熟悉的循环形式——而 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 提供了 1 种尴尬的、不熟悉的包含文件的形式(导入)——而 PHP 提供了 2 种熟悉的原生形式: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 等。

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

于 2014-02-21T08:29:13.503 回答