Подтвердить что ты не робот

Less/sass с php

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Загрузите последнюю версию 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!

Ответ 3

Теперь у вас есть два варианта:

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

Ответ 5

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

Ответ 6

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

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

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

Здесь задан тот же вопрос. Если вы хотите увидеть больше параметров

Ответ 7

Вы можете использовать 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-бутстрапа - после этого я включаю свою собственную тему и переопределяет.

Ответ 8

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

Ответ 9

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

Ответ 10

У меня 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]

В корневой папке у меня есть style.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 просто проверяет, нужно ли перекомпилировать файл и прозрачно ли он, иначе отправляет кешированную версию.

Ответ 11

Почему бы просто не использовать PHP для динамического создания CSS? Вот 10 веских причин:

  • LESS предоставляет 1 неудобную, незнакомую форму цикла, в то время как PHP предоставляет 4 формы знакомого, собственного цикла (do, while, for, foreach).

  • LESS предоставляет 1 неудобную, незнакомую форму переменных, в то время как PHP предоставляет от 6 до 12 знакомых встроенных структур данных: переменные, массивы, ассоциативные массивы/хэш-таблицы, массивы массивов/многомерных массивов, объекты и запись базы данных наборы. Стандартная библиотека PHP также предоставляет кучи, стеки, очереди, карты, двунаправленные списки и фиксированные массивы.

  • LESS не предоставляет условных выражений - в то время как PHP предлагает 4 знакомые, собственные формы условностей: if-then, if-then-else, case/switch и тернарный оператор.

  • LESS предоставляет 1 неудобную, незнакомую форму включения файлов (импорт) - в то время как PHP предоставляет 2 знакомые, родные формы: include и require.

  • LESS предоставляет различные неудобные, незнакомые формы структурирования вашего CSS - в то время как PHP предоставляет знакомые, родные, объектно-ориентированные формы структурирования вашего кода.

  • LESS требует обучения по существу новому языку программирования и последующего его изменения со временем, в то время как PHP использует ваши существующие знания.

  • МЕНЬШЕ делает ваш код менее читабельным и менее последовательным - в то время как предварительная обработка CSS в PHP сохраняет ваш код согласованным и делает его более читаемым.

  • LESS требует дополнительного шага "компиляции" /предварительной обработки и требует поддержки нескольких версий ваших файлов CSS, в то время как PHP может либо генерировать CSS динамически "на лету" из одного источника (если вы не заинтересованный в производительности) или он может генерировать окончательную "скомпилированную" /предварительно обработанную версию, как препроцессор LESS (если вас беспокоит производительность).

  • LESS требует загрузки и установки стороннего препроцессора, а PHP уже предоставляет функциональность.

  • LESS может использоваться только для CSS - в то время как PHP может использоваться для динамического создания CSS, HTML, JavaScript, jQuery и т.д.

Препроцессоры CSS, такие как LESS и SASS, могут быть спасителем для отчаянных разработчиков интерфейсов без доступа к вспомогательным инструментам, таким как PHP. Но для разработчиков PHP это контрпродуктивно и менее эффективно. По моему скромному мнению, это похоже на манию модного мазка и добавленную манию. PHP был разработан для обеспечения всех функций LESS и многое другое.