CakePHP2.1.0が日本時間の3/5にリリースされました。熱心なCake職人の方にとっては規定の事実でしたが、まだそんなに齧ってないという人向けに今回のリリースのトピックを簡単にまとめます。

ウェブサイトがリニューアルされた

長い間利用されてきたサイトのデザインがリニューアルされて2。0仕様に。それに伴ってマニュアルのページもスタイルが変更されています。またサイトのキャッチコピーも「CakePHPはウェブアプリケーションを素早くシンプルに少ないコードで作れます」というコピーに変わりました。

プラグインの検索ができるようになった

さまざまなプラグインの情報を登録して検索できるサービスが開始されました。もともとはCake Packagesというサイトでしたが作者の方がコアチームに参加して統合された形のようです。

PHP5.2.8以降に対応

PHPのバグに対応して必須の環境が5.2.8になりました。もちろん5.3系や5.4系でも動作します。最新のPHPの機能への実装はいずれ行わますが、CakePHP2.0の時点でnamespaceなどを見越した設計をしているので移行はスムーズに進むのではと思います。

PEARチャンネル経由のインストールができるようになった


なぜかPEARからのインストールを今更サポート

既存の機能のリファクタリング

既存の機能の応用的な部分の整理が進んでいます。通常のアプリケーション開発に関する部分は代わっていませんが、思い当たる機能を使っている場合は念のため確認です。

  • Content Type Views
    JSONやXMLのビューを簡単に返せるように。
  • Extending views
    Viewの継承を利用した画面レイアウトをサポート
  • Plugin.view
    プラグイン内のビューをプラグイン名.ビュー名で指定できるように。
  • エラーの改善
    debug()関数の表示がより読みやすく。
  • 汎用イベントシステム
    コールバックやディスパッチの処理がイベントエンジンで置き換えられ拡張が容易に。
  • テスト
    データソースからのフィクスチャの生成が可能に。新しいテストシェルはテスト対象のファイル名を指定すればよい。

    Console/cake test app/Model/Post.php
    Console/cake test app/Controller/PostsController.php
  • コールバック優先度
    コールバックの優先度を設定するパラメータが追加。
  • ThemeViewの廃止
    普通のViewで同じ事ができるように
  • HTTPキャッシュの改善
  • コアヘルパーのいくつかがライブラリに移行
    TextHelperやNumberHelperがどこでも使えるように。
  • Deep saving
    関連データをどこまで保存するかを指定するパラメータが追加。
  • 新しいACLエンジン
    ACLの設定をデータベースではなくファイルで行う仕組みが追加
  • HtmlHelper::media()

    HTML5のタグが生成できるように

CakePHPはコアの開発チームが何度か入れ替わっていますが、安定して開発が続いていますね。開発チームを離れた人でもイベントには参加していたりコミュニティの安定感がやはり特徴です。反面、最新の機能のサポートは遅いですが、使い勝手を維持しながら着実なリファクタリングが続いています。
これまで使っていた人もこれから使う人にとっても安心度の高いフレームワークなのではないでしょうか。