元記事はこちら。
by lorenzo
予想より少し遅れましたが、多くの素晴らしい新機能と安定性を詰め込んで、CakePHP 2.2.0-RC2は安定版前の最終的なテスト段階に来ました。さきのリリースでお伝えしたように、2.2系は2.0系・2.1系とAPI互換性があり、幾つかの設定ファイルへの追加事項を除いて、アップグレード時の見通しがよいようになっています。コミュニティにとって安全で便利だと考えた新しい機能をいくつかこのリリースに含めています。以下は2.2.0-RC2の変更点の概要の一覧です:
バリデーション
Validation
クラスにいくつか新しいメソッドが追加されました:
naturalNumber
、uploadError
、mimeType
です。自然数のバリデーションは、正の数のみの数値を検証したい場合に使用できます。アップロード関連のメソッドは、モデルでアップロードファイルの正確な検証を簡単に行えるようになっています。特にmimeType
メソッドはファイル拡張子に依存しないMimeTypeの正確な検証を行えます。
Bake
テストケースと新しいプラグインのBakeに、幾らかの小さな拡張を加えました。たとえば、新しいプラグインの作成を行うとbootstrap.phpに自動的に設定が行われるというものです。
CakeRequest
PUT
メソッドとDELETE
メソッドのペイロードデータは、正しくエンコードされる場合、$request->data
に配置されます。コントローラが各メソッド内でさらにアクションをおこすことなく簡単に、また透過的にアクションを実装できます。
その他の変更点
session.gc_maxlifetime
はセッションでファイルを使用する設定になっている。早すぎるガベージコレクトからセッションファイルを保護するcake i18n extract
は--overwrite
オプションにより強制的に既存のすべてのpotファイルを上書きするようになったApp::uses()
は名前空間のあるクラスのサポートが改善されたbelongsTo
とhasOne
のアソシエーションはrecursive > 1
の際に発行するクエリ数が少なくなったTranslateBehavior::unbindTranslation()
の動作の改善HtmlHelper::tableHeaders()
は各セルのHTML属性を受け付けるようになったRouter::setExtensions()
は既存の拡張子をすべて置き換えるのではなく追記するようになったSecurity::rijndael()
がCookieComponent
向けに追加された。強度の暗号化が使用できるようになり、すべての暗号化されたクッキーを使用するアプリケーションに推奨される- データソースメソッドキャッシュが衝突への耐性の改善
- 画像を使用したEメールテンプレートの改善
- app/Console/cake によるアプリケーションディレクトリの精査の改善
application/www-form-urlencoded
を使用したPUTとDELETEの要求が自動的に解析され、リクエストオブジェクトの$this->data
にセットされるよう改善- セッションクッキーのデフォルトがhttpOnlyになった
- 関連モデルの保存またはバリデーション時に主モデルのバリデーションに失敗した場合、すべてのバリデーションエラーが返されるようになった
CakeFest 2012が近づいており、素晴らしい講演とワークショップがいくつも予定されています。まだチケットを購入していないのであれば、そろそろいかがでしょうか?
いつもながら、パッチやチケットやドキュメントの編集など、このフレームワークに貢献してくれるすべての皆さんに深謝します。あなたがいなければCakePHPは存在しません。