CSS/JSをひとまとめにして軽量化するプラグイン「Minify plugin for CakePHP」
「Minify plugin for CakePHP」は、インクルードするCSSもしくはJSファイルをひとまとめにしてキャッシュ化してくれるプラグインです。
導入
-
ダウンロード・解凍して、「Minify」にリネームしてapp/Plugin下に配置
app/Plugin/Minify
-
プラグインをロード
// app/Config/bootstrap.php CakePlugin::load( array( 'Minify' => array( 'routes' => true)));
-
設定
// app/Config/core.php Configure::write( 'MinifyAsset', true);
-
使用するコントローラにヘルパーを指定 (全てのコントローラで使用する場合は、AppControllerで指定)
// app/Contoller/AppController.php class AppController extends Controller { var $helpers = array( 'Minify.Minify'); } -
ビューに読み込むCSSやJSを指定する。ひとまとめにしたいCSS(JS)を配列で指定していきます。
// CSS // 例:css/bootstrap.cssとcss/bootstrap-responsive.cssをひとまとめにする echo $this->Minify->css( array( 'bootstrap', 'bootstrap-responsive')); // JS // 例:js/jquery.jsとjs/jquery-ui.jsをひとまとめにする echo $this->Minify->script( array( 'jquery', 'jquery-ui'));
-
app/tmp/cache下にminifyディレクトリを作成
minifyディレクトリのパーミッションを読み込み・書き込み可能にする必要があります。app/tmp/cache/minify
400 Bad requestへの対処
と、ここまではほとんどチュートリアルのコピペなんですが、
Please see http://code.google.com/p/minify/wiki/Debugging.
とエラーになってしまいます。
Cakephp -Minify 400 Bad request
を参考に以下のファイルを編集すると動作するようになります。
// app/Plugin/Minify/View/Helper/MinifyHelper.php (77行目)
// array_push($files, substr($this->assetUrl($asset, $options), 1));
array_push($files, mb_substr($this->assetUrl($asset, $options), mb_strlen($this->request->webroot)));
さらに調査
サブディレクトリ構成の場合、CSSで画像パスの指定がうまくいかない。
関連記事
-
-
CakePHP インストール時エラーの対処
CakePHPインストール時に出くわすであろうエラーの原因と対処方法についてまとめてみました。前提として、WebサーバはApache、データベースはMySQLとしています。 Timezone未設
-
-
DebugKitを導入
定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。 2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりまし
-
-
バリデーション前後に処理を追加できる「beforeValidate」「afterValidate」
CakePHPでは、「beforeValidate」「afterValidate」というバリデーション処理の前後で追加の処理を実装できるコールバック関数が用意されています。 beforeVali
-
-
ログインに追加の条件を付与する「scope」
ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには
-
-
Formヘルパーのinputタグのdiv/labelなどの設定
Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。 CSSのフレームワークなどであらかじめ決まったスタイルがある場合に便利に作られていま
-
-
ハッシュ関数の選択とハッシュ化処理
CakePHPでは、ログイン時にはpasswordを自動的にハッシュ化して認証を行ってくれますが、そのパスワードを登録する際は、明示的にハッシュ化する必要があります。 ハッシュ関数の選択 ハッ
-
-
FullCalendarを使用してカレンダーアプリケーション
カレンダーアプリケーションを作成するため、カレンダー表示できるプラグインを探索して出会ったFullcalendarを試してみました。シンプルに使用できる上に、オプションがかなり豊富です。ダウンロード
-
-
パス定数と変更方法やURLの取得
CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。
-
-
checkボックスを実装
selectボックスに引き続いてcheckボックスの実装方法をおさらいしてみます。 コードは、CakePHP 2と1.3両方で実装可能です。デモ モデルは、こちらも以下 CREATE TA
-
-
Blowfishを使用してハッシュ化する
使用方法 Blowfishを採用してハッシュ化を行う場合、Securityクラスのhashメソッドを呼び出します。第2引数に'blowfish'を指定し、第3引数を指定しないもしくはfalseにしま


Comment
[…] 「CakePHP」「HTML」「minify」とかでググると、本家CakePHPブログが紹介してるこれとか日本語で紹介されてるこれとかこれとか引っかかるワケですが、 […]
[…] http://kwski.net/cakephp-2-x/1136/ […]