元記事はこちら。
By lorenzo
2週間前の2.1.0 アルファ版リリースに引き続き、CakePHPコアチームは2.1.0ベータ版のリリースをお知らせいたします。
CakePHPコアチームはCakePHP2.1.0ベータが入手可能になったことをお知らせいたします。前回のリリースでも記載しているとおり、このバージョンは2.0.5と完全な後方互換性があり、アップデートにより本リリースで改善された多くの機能をすぐにでもお使いただけます。
先の2.1アルファ版以降、合計で100以上のコミットと5つの新機能・拡張が行われました。完全なリストはchangelogページで閲覧できます。以下はこのバージョンのハイライトです:
ThemeView は推奨されません
クラスを分割してコントローラクラスにさらなるコンフィグレーションを加えるのは理想的な解決策でないと気づきました。すべてのThemeView
機能はView
クラスに統合されます。テーマのサポートが容易になります。
HTTP キャッシュの改善
2.0系と1.3系の大きな差異の1つはレスポンスクラスでレスポンスヘッダを簡単に設定できることです。この変更はキャッシュヘッダを設定するVarnishなどのリバースプロキシを利用したい方々に有用でしょう。この点を改善しさらに新しいメソッドをCakeResponse
クラスに追加し、HTTPキャッシングの設定を行えるようにしました。
RequestHandlerComponent
はキャッシュと同バージョンのリソースへのアクセスがあった場合にビューの描画を停止します。これはレスポンスタイムの短縮を意味し、リクエストあたりのCPUサイクルを減少させます。これを活用するためにCakeResponse
クラスのmodified()
メソッドやetag()
メソッドを使う必要があります。CakePHPブックにはこの新機能を理解するためのいくつかの例が記載されています。
その他の変更
- トランザクションコマンド (BEGIN, COMMIT, ROLLBACK) がデータベースログに出力
Set::nest()
とSet::get()
の追加。Set::nest()
はフラットな配列を、配列のキーをリファレンスとして、入れ子の配列を出力します。Set::get()
はドット記法を用いて配列のどの要素にもアクセスできます。- デフォルトルートクラスを設定・取得するための
Router::defaultRouteClass()
の追加。これによりグローバルの初期値を簡単に設定でき、重たいルートクラスやi18nクラスに有用です。 I18n::translate()
は新しく $language パラメータを取得する。メソッドに.poファイルを取得するよう促し、独自の翻訳インターフェースの作成に有用です。- 認証オブジェクトは、ユーザ検索クエリの返却データの上限を設定するrecursive(再帰)オプションを受け取るようになった。
2.x系のブックをひとつにまとめようと考えています。2.1系の変更に関しては現在のブックで読むことができます。この新バージョンのための新しいAPIサイトをできるだけ早く仕上げるつもりです。パッチやドキュメントの変更や新しいチケットによって成長し続けるCakePHPコミュニティにいつも感謝しています。あなたがいなければ、CakePHPは存在しません。