- 完成したプロジェクトへのシンプルで迅速な統合、後者への最小限の変更
- 最小コードサイズとファイル数
- 汎用性とテクノロジーおよびフレームワークからの独立性-あらゆるホスティングに対応します。
最初は、 CS-Cartに基づいた1つのプロジェクトのCSS / Javascript読み込みを最適化することがタスクでした(Smartyも使用)。 プロジェクトは一貫して17個のCSSファイルと15個のJavascriptをロードしましたが、これはもちろん価値がありません。 これらのうち、約半分がCS-Cartエンジン自体に、2番目がインストールされたアドオンに該当しました。 CSS / Javascriptを組み合わせて、元のプロジェクトファイルに最小限の変更を加えて実行できるソリューションが必要でした。 アドオン自体は、CSSとJavascriptをロードします。 アドオン自体のロジックには入りたくなかったので、Benderを使用すると、Wordpressと同じようにCSS / Javascriptからキューを作成できます。
ベンダーは、ユニークまたは機能が豊富なふりをしません( asseticなど)。 ここに別のタスクがあります:最小性(パッカーと一緒にそれは3ファイルのみです)、および既存のプロジェクトへの接続の容易さ。
使い方は?
例として、CSSとJavascriptを組み込んだコードを
<html lang="en"> <head> <link href="assets/css/bootstrap.css" rel="stylesheet" type="text/css" /> <link href="assets/css/bootstrap-theme.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="assets/js/jquery-1.10.2.js"></script> <script type="text/javascript" src="assets/js/bootstrap.js"></script> </head> <body> ... </body> </html>
次にベンダーを追加します。
<html lang="en"> <head> <?php require_once "Bender/Bender.class.php"; $bender = new Bender(); // CSS JS $bender->enqueue("assets/css/bootstrap.css"); $bender->enqueue("assets/css/bootstrap-theme.css"); $bender->enqueue("assets/js/jquery-1.10.2.js"); $bender->enqueue("assets/js/bootstrap.js"); // , : $bender->enqueue(array("assets/css/bootstrap.css", "assets/css/bootstrap-theme.css", ...)); // / CSS <link rel="stylesheet" href="..." /> <head> echo $bender->output("cache/stylesheet.css"); ?> </head> <body> ... <?php // / JS <script src="..."> </body> ( ) echo $bender->output("cache/javascript.js"); ?> </body> </html>
ベンダーの結果は次のコードになります。
<html lang="en"> <head> <link href="assets/css/stylesheet.css" rel="stylesheet" type="text/css" /> </head> <body> ... <script type="text/javascript" src="assets/js/javascript.js"></script> </body> </html>
結果のファイルがすでに作成されている場合、それらは上書きされません。 この動作は、 ttlプロパティを使用して変更できます(以下を参照)。
スマーティー
ベンダーには、Smarty用のプラグインが含まれています。 これを行うには、 function.bender.phpをSmartyプラグインディレクトリに配置するだけで、プロジェクト初期化スクリプトのどこかでBenderクラス自体を除外することを忘れないでください。 Smartyテンプレートでベンダーを使用する:
<html lang="en"> <head> {bender src="assets/css/bootstrap.css"} {bender src="assets/css/bootstrap-theme.css"} {bender src="assets/js/jquery-1.10.2.js"} {bender src="assets/js/bootstrap.js"} {bender output="cache/stylesheet.css"} </head> <body> ... {bender output="cache/javascript.js"} </body> </html>
プロパティ
ベンダーには最小限のプロパティがあります。 ここにあります:
$bender->cssmin: "cssmin" CssMin, CSS. $bender->jsmin: "packer" JavaScriptPacker, "jshrink" JShrink, JS. $bender->ttl: . 3600 , , . 0 - , -1 - .
計画中
- TwigとWordpressのプラグイン
- エンキューおよび出力用のパラメーターを追加する
- $ devプロパティ-結合せずにファイルを「現状のまま」提供します-デバッグモード用
GitHubからベンダーをダウンロード | 英語の使用方法
コメントの改善、フィードバック、さらには批判に対する提案を歓迎します。 ベンダーという名前はフューチュラマとは何の関係もないと推測したと思います-「コンビネーター」という言葉に由来します。