如何使用scssphp编译SCSS

时间:2018-10-29 15:49:03

标签: php sass

我目前正在尝试编译一些我通过表单请求接收的SCSS。当前的工作流程是用户提交表单数据,如下所示:

{"$background_color":"#f3f3f3","$logo_url":"https:\/\/logo.co\/random"}

然后我将此输入转换为以下内容:

$background_color: '#f3f3f3'; $logo_url: 'https://logo.co/random'

对于将其编译为CSS而言,这应该是有效的,因此我使用以下代码通过SCSSPHP运行它:

$scss->addImportPath(Storage::disk('tmp')); $output = $scss->compile("@import 'test'; $statement ");

运行此命令时不会触发错误,输出为:

@import 'test';

我的test.scss如下:

$background_colour: 'red'
$logo_url: 'https://test.com'

.logo {
  background-image: $logo_url;
}

.background_colour {
    background-colour: $background_colour;
}

我在这里做什么错了?

1 个答案:

答案 0 :(得分:1)

问题是您未将字符串传递给此函数。 使用功能 file_get_contents

将您的scss解析为字符串
require_once "scssphp/scss.inc.php";

use Leafo\ScssPhp\Compiler;

$scss = new Compiler();

// Gets the content of the scss file in string format

$scss_string = file_get_contents(path/to/scss.file);

echo $scss->compile($scss_string);