CakePHPコアチームはCakePHP 2.5.0-betaが入手可能になったことをお知らせいたします[1]。これは2.5系の最初のベータリリースです。2.5.0-beta リリースはCakePHPのパフォーマンス、セキュリティ、簡便性の改善のための新機能を幾つか追加しています。完成した際には、2.4.x系に置き換えられることになります。古いバージョンからの以降の際には移行ガイド[2]を参照されるようにおすすめします。
新機能
移行ガイド[2]には2.5.0のすべての変更点が記載されていますが、以下はその概要です:
Cache::remember()
このメソッドはキャッシュ操作のリードスルーの実装を可能にします。渡されたキャッシュキーで、有効なキャッシュデータを探します。見つからない場合は、コールバックメソッドが実行され、該当するキャッシュキーにストアされている値を返します。キャッシュが見つからない場合のチェックが繰り返し実装されることを回避するのに有効です。
Memcachedサポートの改善
phpエクステンションのext/memcachedをサポートするために、より早く、人気のキーバリュー型データベースを利用するためのエクステンションをサポートした新しいキャッシュエンジンが追加されました。新しいアダプタを導入するにあたり、古いMemcacheを非推奨とし、3.0で削除する計画でおります。
CompletionShell
コマンド補完をサポートするbashやzshのようなシェル環境向けに、cakeシェルでコマンドやオプションの補完をtabキーで行えるようにシェルを追加しました。どんなコマンドが利用可能か、どんなオプションを仕えるのか疑問に思ったことがあれば、このシェルを活用できます。セットアップ方法についてはドキュメントを確認してください。
Security::encrypt() と AES暗号化クッキー
ユーザーによって変更されてはならないデータをクッキーに保存する場合、AES暗号化クッキーを利用できます。Securityクラスにより提供されるAES-256の暗号化を利用でき、クッキー改ざんのような種々のアタックから保護できます。
グローバルとローカルのイベントで一貫した優先度
これまでのCakePHPのバージョンでの制限は、グローバルのEventManagerにアタッチされたリスナーは優先順位にかかわらず他のローカルリスナーより前に呼び出されていました。CakePHP2.5ではグローバルまたはローカルのイベントリスナーを優先度キューに統合します。1つの統合された優先度キューで、より複雑で完全なアスペクト指向のプログラミングを実装できます。
2.5.0の変更と改善を反映するため、APIドキュメント[3]とcookbookが更新されています。
CakePHPコアチームはBrian Crowe (bcrowe)をチームに迎えました。Brianは2.5、3.0の開発期間中、cookbook、APIドキュメント、コードの改善を行ってくれました。
コミット、チケット、ドキュメントの編集ほか、このフレームワークに貢献してくれるすべての皆さんに深謝します。