splitbrain/lesserphp

lesserphp 是一个基于 leafo's lessphp 的 PHP 编译器,用于 LESS。

v0.10.1 2024-02-02 18:31 UTC

This package is auto-updated.

Last update: 2024-08-31 00:42:48 UTC


README

LesserPHP 是一个用 PHP 编写的 LESS 编译器。它基于 lessphp,由 @leafo 编写。原始版本在 2014 年被废弃。由 @MarcusSchwarz 的分支在 2021 年大部分被废弃。还有一些其他可疑的分支。

这是一个有偏见的分支,目的是为了足够现代化代码库,使其更易于维护,而无需完全重写。它打算作为 DokuWiki 的稳定基础使用。这意味着移除了不必要的功能。

请注意,这个分支是基于 MarcusSchwarz/lesserphp0.6.0-dev 分支,而不是更现代化的 master 分支。这有两个原因

  1. master 分支没有跟上 0.6.0-dev 分支中的所有错误修复(其中一些是由 DokuWiki 开发者贡献的)
  2. 我只是在已经开始自己的重构后,才注意到 Marcus 在 master 分支上所做的相当大的重构。我不想重新开始。他的方法比我的更激进,可能比我可用的那个长周末还要长。

贡献和错误

请将错误报告到 问题跟踪器。只有在 DokuWiki 需要它们,或者你提供了 pull request 时,才可能修复。

除非伴随有 pull request,否则将忽略功能请求。

如何在您的 PHP 项目中使用

不要使用。你真的不希望使用 LESS 开始一个新项目。看起来 SASS 已经赢得了这场战斗。或者甚至可以跳过整个 CSS 预处理器 - 现代CSS本身就很强大。

如果你已经在它众多分支之一中使用了 lessphp,使用这个版本不会有太大的不同。

你可以查看大部分原始文档 original documentation。API 大部分相同。对于 LESS 语法本身,请参考 upstream documentationbundled Documentation。请记住,LesserPHP 不支持一些更现代的功能。

要安装它,使用 composer

composer require splitbrain/lesserphp

LesserPHP 的典型流程是创建一个新的 Lessc 实例,按你的喜好配置它,然后使用内置的编译方法之一告诉它编译某些内容。

compile 方法将 LESS 代码字符串编译成 CSS。

<?php
require __DIR__ . '/vendor/autoload.php';

$less = new LesserPHP\Lessc;
echo $less->compile(".block { padding: 3 + 4px }");

compileFile 方法读取并编译一个文件。它将返回结果或将结果写入由可选的第二个参数指定的路径。

<?php
echo $less->compileFile("input.less");

如果在编译代码时出现任何问题,将抛出一个包含有用信息的异常。

<?php
try {
  $less->compile("invalid LESS } {");
} catch (LesserPHP\ParserException $e) {
  echo $e->getMessage();
}