web-dev-qa-db-ja.com

less / sass with php

私はフロントエンド開発者であり、最近、CSS開発にSASSまたはLESSを使用することを検討しました。

ただし、私はRubyを使用せず、JavaScriptをアクティブにしているユーザーに依存したくありません。PHPプロジェクト?

19
Adi

Rubyをインストールします。 SASSをインストールします。 SASSを使用します。

静的ファイルを出力するため、ビルド/公開プロセスの一部として他のCSSと同じようにアップロードするだけです。

5
Quentin

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です!

26
Lulu the hero

あなたは今私によって書かれた2つのオプションがあります:

どちらも十分に文書化されています。それらを試してみて、何か問題があれば教えてください。

10
leafo

そのために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」を定義することにより、エンジンをbootstrapファイルにポイントします。これは、Twitter Bootstrapまたはそのような。

私はこれをMagento、TYPO3CMSなどに使用しています。

最初の行には、Twitterの必要な部分を含めていますBootstrap-その後、自分のテーマとオーバーライドを含めています。

2
Andy

このチュートリアルを見てください: http://net.tutsplus.com/tutorials/php/how-to-squeeze-the-most-out-of-less/

(グーグルで4番目のエントリ 'less php')

2
Manuel Pedrera

私の仕事の一部として、私はphpでsassを使用します。

これは私が使用しているものなので、 PhamlP を試してみてください。 PhamlPHamlおよびSassからPHPへのポートです。

ページが読み込まれるたびにsassパーサーを実行することも、生成するcssをキャッシュすることもできます。

これは同じ質問の質問です。 より多くのオプションを表示したい場合

2

WordPressを使用している場合は、必ずチェックアウトする必要があります WP LESS 。 I .lessファイルをwp_register_styleまたはwp_enqueue_style、さらにはadd_editor_styleで指定するだけで、LESSコードがCSSコードにコンパイルされます。また、結果のCSSをキャッシュするため、ページの読み込みごとにLESSコンパイルのオーバーヘッドが発生しません。

2
shea

LESS PHPは多くのリソースを必要とします...大丈夫ですが、相対的ですが、とにかく、出力cssを追跡する必要があります。Macを使用している場合は、 LESSapp を使用してください。 。Windowsを使用している場合は、 dotLEss を使用します(実際にはライブラリであり、複数の.NETプロジェクトに統合できますが、小さなコマンドラインがありますコンパイラ、有効なCSSファイルを出力します)

2
V-Light

私はいくつかのプロジェクトで 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は、ファイルを再コンパイルする必要があるかどうかをチェックし、透過的に実行します。それ以外の場合は、キャッシュされたバージョンを送信します。

1
ethanpil

現在利用可能なコンパイラがもう1つ少なくなっています: less.php

1
user697576

PHP自体を使用してCSSを動的に生成しないのはなぜですか??ここに10の理由があります。

  1. LESSは、1つの厄介でなじみのない形式のループを提供します-while PHPは、4つの形式のなじみのあるネイティブループ(do、while、for、foreach)を提供します。

  2. LESSは、1つの扱いにくい、なじみのない形式の変数を提供します-一方、PHPは、6〜12のなじみのあるネイティブデータ構造を提供します:変数、配列、連想配列/ハッシュテーブル、配列の配列/多次元配列、オブジェクト、また、標準PHPライブラリは、ヒープ、スタック、キュー、マップ、二重リンクリスト、および固定配列も提供します。

  3. LESSは条件を提供しません-while 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などを動的に生成するために使用できます。

LESSやSASSのようなCSSプリプロセッサは、PHPのようなバックエンドツールにアクセスできない絶望的なフロントエンド開発者にとって救世主かもしれません。しかし、PHP開発者にとって、これらは逆効果であり、それほど強力ではありません。私の謙虚な意見では、これは流行語マニアとアドオンマニアがおかしくなったようです。PHP LESSのすべての機能とその他多くの機能を提供するように設計されました。

0
John Doe