infosophie / sass
用于动态编译和包含 Sass 文件的接口
Requires
- scssphp/scssphp: ^1.8.1
This package is not auto-updated.
Last update: 2024-09-23 22:10:54 UTC
README
这是一个轻量级且简单的接口,用于在您的 PHP 项目中使用 'scssphp/scssphp' 包。目前有一个简单的功能:在指定的文件夹(本地路径)中搜索 .scss 文件,并最终编译它们,创建(覆盖)相应的 .css 文件。只有在满足以下两个条件之一时才会进行编译:
- 文件夹中有一个 .scss 文件,但没有相应的 .css 文件
- .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)