用PHP减少/无礼

PHP的 CSS

梅卡卡西

2020-03-24

我是前端开发人员,最近考虑过使用SASS或LESS进行CSS开发。

但是,我不使用Ruby,也不想依赖具有激活JavaScript功能的用户。有没有人有使用PHP项目使用SASS或LESS的任何技巧?

第3188篇《用PHP减少/无礼》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

10个回答
西里神奇 2020.03.24

为什么不只使用PHP本身动态生成CSS?以下是10个充分的理由:

  1. LESS提供了1种尴尬,陌生的循环形式-而PHP提供了4种形式的熟悉的本机循环(do,while,for,foreach)。

  2. LESS提供了1种尴尬,陌生的变量形式-而PHP提供了6到12种熟悉的本机数据结构:变量,数组,关联数组/哈希表,数组数组/多维数组,对象和数据库记录集。而且标准PHP库还提供了堆,堆栈,队列,映射,双向链表和固定数组。

  3. LESS不提供条件-PHP提供了4种熟悉的本机形式的条件:if-then,if-then-else,case / switch和三元运算符。

  4. LESS提供了1种尴尬,不熟悉的包含文件(导入)形式-而PHP提供了2种熟悉的本机形式:include和require。

  5. LESS提供了各种笨拙,陌生的结构化CSS形式-而PHP提供了熟悉的,本机的,面向对象的结构化代码。

  6. LESS本质上要求学习一种新的编程语言,并随着时间的变化而不断学习,而PHP则利用了您现有的知识。

  7. LESS使代码的可读性和一致性降低-而在PHP中对CSS进行预处理可保持代码的一致性并提高可读性。

  8. LESS需要采取额外的“编译” /预处理步骤,并需要维护CSS文件的多个版本-而PHP可以从一个来源(如果您不关心性能)动态地动态生成CSS或可以像LESS预处理器一样生成最终的“已编译” /预处理版本(如果您担心性能)。

  9. LESS需要下载和安装第三方预处理器-而PHP已经提供了该功能。

  10. LESS仅可用于CSS-而PHP可用于动态生成CSS,HTML,JavaScript,jQuery等。

对于无法访问PHP等后端工具的绝望的前端开发人员而言,LESS和SASS之类的CSS预处理器可能是一个救星。但是对于PHP开发人员而言,这些功能适得其反,功能不那么强大。在我的拙见中,这似乎像流行语躁狂症和附加躁狂症一样。PHP旨在提供LESS的所有功能以及更多其他功能。

斯丁前端 2020.03.24

在一些项目上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只是检查文件是否需要重新编译并透明地执行,否则发送缓存的版本。

老丝 2020.03.24

现在还有另一个较少的编译器可用:less.php

2020.03.24

如果您使用WordPress,则一定要签出WP LESS我需要做的就是.lesswp_register_stylewp_enqueue_style至指定一个文件add_editor_style,它将为您将LESS代码编译为CSS代码。它还缓存了生成的CSS,因此您不必在每次页面加载时都进行LESS编译。

2020.03.24

您可以为此使用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”,您将引擎指向引导程序文件,该文件会导入其他较少的文件,例如Twitter Bootstrap或类似文件。

我将此用于Magento,TYPO3 CMS等。

在第一行中,我包括了Twitter Bootstrap的必要部分-之后,我包括了自己的主题和替代。

Stafan路易 2020.03.24

更少的PHP需要大量资源...虽然很多是相对的,但是无论如何,您应该使用输出CSS。如果您使用的是Mac,请使用LESSapp如果您使用的是Windows,请使用dotLEss(实际上它是一个库,可以集成到多个.NET项目中,但是它具有一个小的命令行编译器,可输出有效的CSS文件)

伽罗GreenNear 2020.03.24

看一下本教程:http : //net.tutsplus.com/tutorials/php/how-to-squeeze-the-most-out-of-less/

(谷歌搜索“少php”时的第四项)

JinJinPro 2020.03.24

您现在有两个由我编写的选项:

两者都有据可查。我鼓励您尝试一下并告诉我您是否有任何麻烦。

L番长 2020.03.24

安装Ruby。安装SASS。使用SASS。

它输出静态文件,因此在构建/发布过程中,您只需像上传其他CSS一样上传它们即可。

Pro神无猴子 2020.03.24

作为我工作的一部分,我确实将sass与php一起使用。

您可以尝试PhamlP,因为这是我使用的方法。PhamlP是的端口HamlSassPHP

您可以让sass解析器在每次页面加载时运行,也可以缓存css它生成的页面。

这是被问相同的问题。如果您想查看更多选项

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android