2011-02-02 5 views
0

私は自分のcssとjavascript関数用のカスタムローダーを持っています。php css/js minifier?

そのままです。

私は準備ができています。私はCSSのリストと別のjavascriptファイルを持っています。

私は関数を呼び出すことができる方法を探していて、圧縮された組み合わせのCSSとjsファイルへのパスを出力します。

so。あなたがこれを行うために提案するかどうクラス

load::css('master'); 
load::css('links'); 
load::css('buttons'); 
load::css(); 

のようなものは、(縮小さCSSのリンクを生成する必要があります任意ののparamsずにCSS()の負荷を呼び出しますか)?

答えて

0

私があなたの目的を正しく理解していれば、PHP Speedyが助けになるかもしれません。それをチェックしてください:http://aciddrop.com/php-speedy/

0

それはあなたの望むところではうまくいきませんが、私はminify(http://code.google.com/p/minify/)を使用して、別のクラスZend FrameworkのheadStyleビューヘルパーを使用して)私が必要とするすべてのCSSファイルを収集し、次に含まれる単一のCSS/JSリンクを作成します。

+0

私の問題は、私のサイトのほぼすべてのページがCSSとjavascriptファイルの異なる組み合わせを使用しているので、通常は平均7個のファイルがあると見ていました。私はminifyクラスを呼び出すことができればと思っています。それはファイルに基づいて私にcss/jsファイル名を生成します。ファイル名がファイルの内容に基づいていることを保証するために何らかの類義語を使用し、js/cssファイルが存在する場合はそれを返し、それ以外の場合は作成してから返します。 – Hailwood

+0

私はかなり似ていたことがありました。最小化の仕方は、あなたのCSSとしてhttp://yoursite.com/minify/?foo.css,bar.css,foobar.cssのようなURLを含めることができ、CSSファイルを生成することです。私は約15ファイルを持っていた、それはかなり遅くなったが、それはトリックを行う可能性があります。 –

0

私はjavascriptとcssのための "ビルド"シェルスクリプトを書いています。これはサーバーからのjavascriptであり、それからYUICompressorを使って圧縮します。

これは、あなたが探しているような実行時圧縮ではなく、サイトを公開するときに行う1回限りのビルドプロセスです。私のjavascriptはほとんど静的ですが、私はこれで逃げることができます。

#!/bin/bash 
cd /webroot/js 
wget -nc -O filename.premin.js http://localhost/js/filename.src.js 
java -jar yuicompressor.jar --line-break=200 -o filename.min.js filename.src.js 
rm filename.premin.js 
0

あなたが解決しようとしている問題のように聞こえるのは、あまりにも多くのJS/CSSファイルが提供されているということです。

これらのファイルを結合する方法を探していると、クライアントに配信する必要がある新しいファイルを作成するだけで、問題を複雑にすることができます。

代わりに、HTTPキャッシングについて学び、そしてそれを使用する:CSSやJSでhttp://www.mnot.net/cache_docs/

0

- あなたは、単にそれらを連結することができます - そしてPHPWeeのようなPHP縮小化ライブラリでそれらを圧縮します。

PHPWee: http://searchturbine.com/php/phpwee

私は使いやすいのでPHPWeeに言及 - とHTML HTML5、CSSおよびJavaScriptの縮小をカバーしています。