CakePHP1.2 には、CSS や Javascript を任意の PHP に通すことができます。
config/core.php の中の「Asset.filter.css」と「Asset.filter.js」の項目に PHP ファイルを指定するところがあるのです。
この機能は、CSS や Javascript を圧縮して出力するために作られた機能らしいんですが、肝心の圧縮部分がデフォルトでは入っていません。
CSS の圧縮はcsspp.php というものが Trac にあることはあるんですが、圧縮が強力なためか、使用すると CSS が崩れることがあります。
Javascript に関しては圧縮は提供されていないみたいです。
そこで Script Compressor を移植してみました。
使い方は、PHP ファイルを配置して、config/core.php 内の「Asset.filter.css」または「Asset.filter.js」に「jscss.php」を指定すれば完了です。
$html->css または $javascript->link で出力される CSS や Javascript を自動的に圧縮します。
そして、おまけでコントローラーの出力を Gzip 圧縮するコンポーネントも入れてみました。適当に使ってください。
Script Compressor for CakePHP
バージョン1.0
6/4にCakePHPの1.2RC1が出ましたが、そこでBETWEENの挙動が変更になったのでメモ。
以前は
$conditions =
array(
‘Model.field’ =>
‘BETWEEN ‘ .
$start .
‘ AND ‘ .
$end
);
でBETWEENができましたが、RC1ではANDの両側にクォーテーションマークが付かなくなって、上記のコードではエラーがでます。そこで以下のコードでうまくいきます。
$conditions =
array(
‘Model.field >=’ =>
$start,
‘Model.field <=’ =>
$end
);
ちょっとハマったので気をつけましょう。
CakePHP 1.2 RC1からfindの条件指定方法が変更となった – Technote – by sizuhikoにて詳しい解説がありました。「?」がコツのようです。
ここのところ少し時間ができたので前々気になっていたCakePHPについて調べてみました。CakePHPとは、PHPでできたフレームワークです。
PHPのフレームワークは調べたことがなかったのでイメージがつかめなっかたのですが、CakePHPを通してざっと見てみた感想をまとめてみます。
- フレームワークを使うと開発のスピードが速い
- 0から作るよりはセキュリティに気を使う必要がない
- コードの見直しが楽
フレームワークに馴染んでしまえば0から作るよりメリットが大きいのかな思います。
そしてCakePHPの感想(CakePHP以外に見ていないので他との比較はできませんが)
- カスタマイズ性が高い(コアファイルにも手を入れられる)
- 拡張性が高い(後から機能を付け足せる)
- Javascriptを書かずにAjaxが使える(個人的なことですが)
- Tipsなどは点在しているが、整理されたドキュメントやサンプルが少ない
- 入門系の情報は見つけやすいが、つっこんだことをやろうとするとAPIリファレンスを見なければならない(しかたないといえばそうですが・・・)
どの言語にも言えることですが、共通的な処理を自動でやってくれるとかなり楽です。個人的にCakePHPはいざ作ろうとすると、情報不足が目立つような感じがしました。
そして、今度はCakePHPで何か作ってみようということで、サイトニュースを扱うプログラムを製作中です。サンプルが少ないというのを上で挙げましたので、自分でサンプルを作ってみたいと思います(笑)
Recent Comments