PHP mutliple .scss файлы в один .css файл после изменения

Я хотел бы собрать несколько файлов .scss в один файл .css.

мой код:

<?php
class SassCompile {

private $scssFileType = ".scss";
private $cssFileType = ".css";
private $cssFileName = "style";

public $scssFolder = "scss/";
public $cssFolder = "css/";

public $scssPhp = "scssphp/scss.inc.php";
public $scssPhpCompression = "scss_formatter_compressed";

public function compile($scss_folder, $css_folder, $scssphp, $scss_format) {
require $scssphp;

$scss_compiler = new scssc();
$scss_compiler->setImportPaths($scss_folder);
$scss_compiler->setFormatter($scss_format);$filelist = glob($scss_folder . "*" . $this->scssFileType);
foreach ($filelist as $file_path) {
$file_path_elements = pathinfo($file_path);
$file_name = $file_path_elements['filename'];
$file_content = file_get_contents($scss_folder . $file_name . $this->scssFileType);
$string_css = $scss_compiler->compile($file_content);
file_put_contents($css_folder . $this->cssFileName . $this->cssFileType, $string_css);
}
}

}

$sassCompile = new SassCompile();
$sassCompile->compile($sassCompile->scssFolder, $sassCompile->cssFolder, $sassCompile->scssPhp, $sassCompile->scssPhpCompression);

мой import.scss выглядит так

@import "style";
@import "test";

у меня есть два файла в моей папке scss: «_style.scss» и «_test.scss».
эти файлы будут скомпилированы в мой файл stle.css в папке css.

Каждый раз, когда страница перезагружается, CSS будет компилироваться. Когда у меня будет больше пользователей, это убьет мой веб-сервер.

Как добавить функцию для компиляции, только если в файле есть изменения после последней компиляции?

благодарю вас

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]