Как скомпилировать LESS с использованием простого PHP в Symfony 3

CSS создал лучший онлайн-мир, однако его синтаксис может легко стать очень многословным при работе над огромными проектами, которые не модифицируются только вами. Возможное решение этой проблемы — использование препроцессоров CSS, таких как LESS. Меньше кодов является простым и хорошо организованным по сравнению с CSS, этот препроцессор CSS расширяет возможности и возможности CSS, такие как использование переменных, функций, миксинов, вложенных правил, операций, импорта других файлов и многих других функций, которые генерирует CSS.

В этой статье вы узнаете, как скомпилировать строку или файлы LESS в css в вашем проекте Symfony 3.

1. Установите lessphp

Чтобы преобразовать LESS в CSS, используя только php, вам нужно использовать библиотеку lessphp. Весь компилятор входит в один включаемый класс, но в него включен дополнительный интерфейс командной строки для компилятора. Он довольно прост в использовании и может быть легко установлен с помощью composer в вашем проекте Symfony с помощью следующей команды:

composer require leafo/lessphp

После установки этой библиотеки вы сможете использовать пространство имен lessc в своем коде и создать экземпляр компилятора в своем коде, например:

// Import less compiler
use lessc;
// Instantiate compiler
$less = new lessc();
// Use the compiler here ...

Для получения дополнительной информации об этой библиотеке, пожалуйста, посетите официальный репозиторий на Github здесь.

2. Использование компилятора

Компилятор очень прост и выполняет всю работу за вас, но вы должны указать, что и как должно продолжаться. По сути, все, что вам нужно сделать, это создать экземпляр компилятора и выполнить некоторые из предложенных методов для компиляции в соответствии с вашими потребностями:

А. Компиляция менее строки и возвращение ответа в виде CSS

В следующем примере показано, как преобразовать простую строку LESS в строку CSS и вернуть ее в качестве ответа с типом содержимого файла CSS (теоретически файл CSS возвращается в качестве ответа):

compile($lessString);
// Return a response of CSS Type
$response = new Response();
$response->setContent($css);
$response->setStatusCode(Response::HTTP_OK);
$response->headers->set('Content-Type', 'text/css');
return $response;
}
}

Б. Компиляция меньшего файла и запись в файл CSS

Следующий пример компилирует файл less в файл css, используя compileFile метод:

get('kernel')->getRootDir() . '/../web/assets/less/';
// Path to the folder of css files
$cssFilesPath = $this->get('kernel')->getRootDir() . '/../web/assets/css/';
// Compile the all.less file to compiled.css
$less->compileFile($lessFilesPath. "all.less", $cssFilesPath. "compiled.css");
return new Response("Less File succesfully compiled");
}
}
Ссылка на основную публикацию
Adblock
detector