用于动态编译和包含 Sass 文件的接口

v1.0.0 2021-12-05 21:28 UTC

This package is not auto-updated.

Last update: 2024-09-23 22:10:54 UTC


README

这是一个轻量级且简单的接口,用于在您的 PHP 项目中使用 'scssphp/scssphp' 包。目前有一个简单的功能:在指定的文件夹(本地路径)中搜索 .scss 文件,并最终编译它们,创建(覆盖)相应的 .css 文件。只有在满足以下两个条件之一时才会进行编译:

  1. 文件夹中有一个 .scss 文件,但没有相应的 .css 文件
  2. .css 文件比相应的 .scss 文件更新(即自上次编译以来已更改)

安装

使用 composer 安装(推荐)

如果您熟悉 Composer(PHP 的包管理工具),只需将以下语句添加到您的 composer.json 文件中:

{
    "require": {
        "infosophie/sass": "^0.1.2"
    }
}

版本提示

版本 0.1.2 是第一个工作版本。您可以自由选择后续版本或使用 "dev-main" 来始终获取最新稳定版本。

如何编辑现有的 composer.json 文件

如果您的 composer.json 文件已经包含其他语句,您可能可以省略第一个开括号和最后一个闭括号。如果您的 composer.json 文件已经包含其他 "require" 项,您可能只需将相应的行 ("infosophie/sass": "^0.1.2") 添加到现有的 require 块中。一个更复杂的 composer.json 文件可能看起来像这样:

{
    "name": "your project name",
    "description": "Most valuable functions!",
    "license": "BSD-3-Clause",
    "keywords": [
        "project",
        "function"
    ],
    "homepage": "https://your-web.com",
    "require": {
        "php": "^7.3 || ~8.0.0 || ~8.1.0",
        "infosophie/sass": "^0.1.2",
        "ext-intl": "*"
    }
}

从这个例子中,您可以理解,关键的行 ("infosophie/sass": "^0.1.2") 必须包含在您的 composer.json 中。

要了解更多关于 composer 及其用法的信息,请参阅 https://getcomposer.org.cn/

手动安装

如果您不使用 composer,您也可以通过 FTP 或 SFTP 在您的网络主机上或直接在您的本地机器上安装 Infosophie::Sass。

1. 下载所需的文件

您可以从 GitLab(https://gitlab.com/infosophie/sass/)或直接从 https://gitlab.com/infosophie/sass/-/archive/main/sass-main.zip)下载整个项目。

2. 将文件复制到您的 web 根目录

将 zip 包解压到您的 web 项目文件夹中,或从 GitLab 存储库中复制文件到您的 web 项目文件夹中的一个子文件夹。您可以自由选择任何文件夹来安装包,但建议在项目文件夹中使用合适的子文件夹。假设您使用子文件夹 "infosophie_sass",那么您应该在该路径下找到以下文件:

...

3. 安装所需的包

由于 Infosophie::Sass 使用另一个包,因此您还必须安装此包。它是 "scssphp/scssphp",您可以在 https://scssphp.github.io/scssphp/ 找到它

下载最新版本并将文件解压缩到项目中的另一个子文件夹(例如)

用法

首先,我们必须包含 Infosophy::Sass 以及所需包的 PHP 脚本。这取决于我们的安装方法,如何处理这个问题

当使用 Composer 安装时,执行以下操作:

调用 Composer 的自动加载例程,即包含/要求文件

示例

<?php
namespace Yournamespace;
require "vendor/autoload.php";

当手动安装时,执行以下操作:

如果您手动安装了软件包,您也必须手动包含它们。 "scssphp" 软件包提供了一个单独的 PHP 脚本来包含所有必需的文件。Infosophie::Saas 只有一个要包含的文件。以下是完成此操作的代码

<?php
namespace Yournamespace;
require "scssphp/scss.inc.php";
require "infosophy_sass/src/Sass.php";

示例假设您已按安装章节中描述的方式在文件夹中安装了文件!

以下是两种方法的继续内容

当您成功包含/需要文件后,您必须导入要使用的类。只有一个:Infosophie\Saas\Saas 类。然后,"scssphp/scssphp" 软件包中的类将由 Infosophie::Saas 递归导入!

示例

use Infosophie\Saas\Saas;

现在我们可以使用 Infosophy::Saas。要使用 SASS 文件(即自动将它们编译为相应的 CSS 文件)为您项目,只需为包含 SASS 文件的每个文件夹调用一次静态函数 "addFolder()"

示例

Saas::addFolder('path/to/my/styles');

其中 path/to/my/styles 是包含您的 SASS 文件的文件夹的路径,相对于脚本文件夹。您也可以在这里提供绝对路径。

假设您的网站根目录(您的 PHP 脚本所在的目录)的绝对路径是 /hosting/youraccount/public_html/,您的 SASS 文件位于 /hosting/youraccount/public_html/styles/,那么您可以使用以下两个示例之一

Saas::addFolder('styles');
Saas::addFolder('/hosting/youraccount/public_html/styles');

Infosophie::Saas 将搜索此文件夹(但 不包括 其子文件夹!)以查找以 .scss 结尾的文件,并将它们编译为 .css 文件,具有相同的名称。这些 .css 文件将存储在同一文件夹中,并且现有的 .css 文件将被无情地覆盖!

只有当相应的 .scss 文件最近更改过,即比相应的 .css 文件新,或者文件夹中不存在相应的 .css 文件时,才会进行编译和创建 .css 文件。这可以防止您的脚本无谓地反复编译相同的文件!

以下代码给出了在执行所有这些步骤(即上述所有步骤的组合)后您的整个脚本应如何看起来。

使用 Composer

<?php

namespace Yournamespace;

require "vendor/autoload.php";

use Infosophie\Saas\Saas;

Saas::addFolder('styles');

/* your code... */

?>

手动安装

<?php

namespace Yournamespace;

require "scssphp/scss.inc.php";
require "infosophy_sass/src/Sass.php";

use Infosophie\Saas\Saas;

Saas::addFolder('styles');

/* your code... */

?>

支持

此项目没有支持。此项目信息的唯一来源是 GitLab 上的 git 仓库(https://gitlab.com/infosophie/sass)。请使用此文档中提供的链接获取更多信息,或在网上搜索相关关键词如 'sass', 'composer php', 'packagist', 'git', 'repository' 等,并在不理解提到的步骤时参考 PHP 文档中的相关页面,特别是:https://php.ac.cn/manual/en/function.include.php https://php.ac.cn/manual/en/language.oop5.php https://php.ac.cn/manual/en/language.namespaces.php https://php.ac.cn/manual/en/language.namespaces.importing.php

如果您打算商业性地使用此软件包(我们欢迎这样做!)并且/或者您不想寻找所有问题的答案,您可以使用我的付费服务来解决问题并回答您的问题!请通过 mail@cgrauer.de 联系我。

路线图

目前没有计划更新或新功能。

贡献

如果您想为此项目做出贡献或如果您有其他功能的想法,请自由地将代码推送到 GitLab(https://gitlab.com/infosophie/sass/-/merge_requests/new)的仓库。

如果您发现错误,请使用 GitLab 问题跟踪器来报告它们(https://gitlab.com/infosophie/sass/-/issues/new

我非常感激任何贡献。请自由地通过 mail@cgrauer.de 联系我!

作者和致谢

作者:Christian Grauer(mail@cgrauer.de)。我是一位来自德国的独立软件开发商,自 1998 年以来一直独立工作,专注于网站开发、咨询和 IT 培训。

感谢Leaf Corcoran(https://scssphp.github.io/scssphp/)编写并提供了scssphp/scssphp包!

许可证

本项目发布在GNU通用公共许可证版本3.0或更高版本下(https://gnu.ac.cn/licenses/gpl-3.0-standalone.html