元記事はこちら。
CakePHPコアチームはCakePHP 2.8.0-RC1 が入手可能になったことをお知らせいたします。これは2系に新機能を追加した2.8系の最初のリリース候補版です。API定義が安定版になる前にフィードバックを受け付けたいと考えています。
非推奨
- FormHelper::create() の action オプションが、3系同様に非推奨になりました。配列のactionキーがDOM ID生成におけるURL一貫性を重視したものである点に注意してください。非推奨のキーを使用した場合のIDをアップグレード前後で比較してみてください。
PHP7 互換
CakePHP 2.8 は、PHP7互換で、テスト対象となりました。
新機能
- 致命的エラーを扱う際、CakePHPはメモリの上限を4MBに調整しエラーが確実に記録されるようにする。この動作を停止するには、Config/core.php で Error.extraFatalErrorMemory を 0 にします。
- Cache::add() の追加。このメソッドによりキーが存在していない場合でもデータをキャッシュに追加できます。自動でMemcached, Memcache, APC, Redisと連携します。他のキャッシュでは非不可分の操作になります。
- CakeTime::listTimezones() で、最後の引数が配列を受け付けるように調整された。$options の有効な値は、group, abbr, before, after。
- Console/cake i18n で、新しいオプション no-locations が追加された。使用すると、POTファイルの位置参照の生成が停止される
- Hash::sort() で、大文字小文字を区別しない ignoreCase オプションの追加
- find のマジックメソッドで、カスタム検索タイプがサポートされるようになった。たとえば、モデルで find(‘published’) が実装されている場合、マジックメソッドインターフェースによって findPublishedBy や findPublishedByAuthorId が使用可能になる
3.x からの移植
- Shell ヘルパーが移植された
- Validation::uploadedFile() が移植された
- FormHelper::create() で、HTMLの action 属性なしで生成されるように ‘url’ => false がサポートされるようになった
2.8.0-RC1 リリース以降大きな問題がなければ、4−5週間のうちに安定版をリリースできるでしょう。2.8.0のドキュメントは book(英語)や API(英語)でご覧になれます。
いつもながら、問題報告やプルリクエストにより、このリリースの実現を支えてくれたコミュニティの皆さんに感謝します。
github よりパッケージリリースのダウンロード