меньше / sass с php - PullRequest
       13

меньше / sass с php

19 голосов
/ 13 февраля 2011

Я являюсь разработчиком внешнего интерфейса и недавно рассматривал возможность использования SASS или LESS для разработки CSS.

Однако я не использую Ruby и не хочу полагаться на пользователей с активным JavaScript. У кого-нибудь есть советы по использованию SASS или LESS в PHP-проектах?

Ответы [ 11 ]

26 голосов
/ 01 июня 2011

Загрузите последнюю версию lessphp здесь .

Вот пример того, как я это попробовал:

<?php
require 'lessc.inc.php';

$less = new lessc('test.less');
file_put_contents('test.less.css', $less->parse());

?>
<html>
<head>
    <title>Less CSS</title>
    <link rel="stylesheet" href="test.less.css" type="text/css" />
</head>
<body>
    <h1>This isn't supposed to be black!</h1>
</body>
</html>

И мой файл test.less:

@color : #33ddff;
.colorful(@textcolor : red){
    color : @textcolor;
}
h1{
    .colorful(@color);
}

У меня работает, и это php!

10 голосов
/ 02 августа 2012

Теперь у меня есть два варианта написанных мной:

Оба хорошо документированы. Я призываю вас попробовать их и скажите мне, если у вас есть какие-либо проблемы.

5 голосов
/ 13 февраля 2011

Установите Ruby. Установите SASS. Используйте SASS.

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

2 голосов
/ 24 апреля 2013

Если вы работаете с WordPress, вам обязательно стоит проверить WP LESS . Все, что вам нужно сделать, это указать файл .less с wp_register_style или wp_enqueue_style или даже add_editor_style, и он скомпилирует ваш LESS-код в код CSS для вас. Он также кэширует полученный CSS, так что вы не будете тратить время на компиляцию LESS при каждой загрузке страницы.

2 голосов
/ 13 октября 2012

Вы можете использовать PhpLessDemandBridge для этого: https://github.com/andyhausmann/PhpLessDemandBridge

Вы можете просто использовать его в своих шаблонах, например:

<link rel="stylesheet" type="text/css" media="all"  href="css/engine/css.php?file=bootstrap.less" />

Механизм можно настроить через файл конфигурации, где вы можетеОпределите свой путь, тем меньше файлов и файлов кэша.

Определяя «css.php? file = bootstrap.less», вы указываете Engine на файл начальной загрузки, который импортирует другие файлы поменьше, например Twitter Bootstrap или тому подобное..

Я использую это для Magento, TYPO3 CMS и многих других.

В первой строке я включаю необходимые части Twitter Bootstrap - после этого я включаю свою собственную тему и переопределения.

2 голосов
/ 30 марта 2011

В рамках своей работы я использую sass с php.

Вы можете попробовать PhamlP , так как это то, что я использую. PhamlP - это порт Haml и Sass до PHP.

Возможно, вы запускаете sass-анализатор при каждой загрузке страницы или можете кэшировать css, который он генерирует.

Здесь задается тот же вопрос: , если вы хотите увидеть больше вариантов

2 голосов
/ 17 февраля 2011

МЕНЬШЕ PHP требует много ресурсов ... ладно, все относительно, но в любом случае вы должны чекать выходные данные css.Если вы на Mac, используйте LESSapp .Если вы работаете в Windows, используйте dotLEss (на самом деле это библиотека, которая может быть интегрирована в несколько проектов .NET, но имеет небольшой компилятор командной строки , который выводитдействительный файл CSS)

2 голосов
/ 13 февраля 2011

Взгляните на этот урок: http://net.tutsplus.com/tutorials/php/how-to-squeeze-the-most-out-of-less/

(4-я запись, когда вы гуглите 'less php')

1 голос
/ 02 декабря 2014

У меня есть http://leafo.net/scssphp/ на нескольких проектах.Это хорошо работает для меня, вот что я делаю.

Установите scssphp в lib / scssphp /

В .htaccess

#Sass Parser: anything /css/FILENAME.css -> FILENAME.scss
RewriteRule ^css/(.*).css?$ style.php/$1.scss [NC,L]

В корневой папке у меня есть стиль.php:

<?php
    require "lib/scssphp/scss.inc.php";
    $scss = new scssc();
    $scss->setFormatter("scss_formatter");
    $server = new scss_server("ui", null, $scss);
    $server->serve();       
?>

В моем HTML я использую:

<link rel="stylesheet" href="/css/style.css">

В / ui у меня есть файл с действующим кодом SCSS: /ui/style.scss

И все просто работает.SCSSPHP просто проверяет, нужно ли перекомпилировать файл, и делает это прозрачно, в противном случае отправляет кэшированную версию.

1 голос
/ 18 сентября 2013

Теперь доступен еще один менее компилятор: less.php

...