Posts tagged CakePHP

CakePHPで圧縮しよう!

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 7.03 kB

CakePHPのfindでのBETWEEN

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ここのところ少し時間ができたので前々気になっていたCakePHPについて調べてみました。CakePHPとは、PHPでできたフレームワークです。

PHPのフレームワークは調べたことがなかったのでイメージがつかめなっかたのですが、CakePHPを通してざっと見てみた感想をまとめてみます。

  • フレームワークを使うと開発のスピードが速い
  • 0から作るよりはセキュリティに気を使う必要がない
  • コードの見直しが楽

フレームワークに馴染んでしまえば0から作るよりメリットが大きいのかな思います。

そしてCakePHPの感想(CakePHP以外に見ていないので他との比較はできませんが)

  • カスタマイズ性が高い(コアファイルにも手を入れられる)
  • 拡張性が高い(後から機能を付け足せる)
  • Javascriptを書かずにAjaxが使える(個人的なことですが)
  • Tipsなどは点在しているが、整理されたドキュメントやサンプルが少ない
  • 入門系の情報は見つけやすいが、つっこんだことをやろうとするとAPIリファレンスを見なければならない(しかたないといえばそうですが・・・)

どの言語にも言えることですが、共通的な処理を自動でやってくれるとかなり楽です。個人的にCakePHPはいざ作ろうとすると、情報不足が目立つような感じがしました。

そして、今度はCakePHPで何か作ってみようということで、サイトニュースを扱うプログラムを製作中です。サンプルが少ないというのを上で挙げましたので、自分でサンプルを作ってみたいと思います(笑)

Go to Top