by markstory
3.0.0 アルファ2以降の大きな変更点
3.0.0 アルファ2以降、既存のアプリケーションとの互換性がなくなる変更を幾つか行いました。
i18nの再実装
ext/intl や Aura/Intl に加え、新しいローカリゼーションシステムによって強力な置換構文が提供され、かつsprintf() ベースのフォーマッターとの互換性を残しています。追加情報については新しい i18n ドキュメントを参照してください。L10n クラスは削除されました。
NumberHelper による intl の使用
Number ライブラリと NumberHelper は通貨や値の書式のために内部で intl を使用するようになりました。これにより、NumberHelper はアプリケーションの現在のロケールを把握するようになりました。addFormat() メソッドは削除されました。
ディレクトリ構成の変更
CakePHPアプリケーションのディレクトリ構成に多くの変更が加えられました:
- src/Config は /config になった
- src/bootstrap.php は /config/bootstrap.php になった
- ログファイルはデフォルトで最上位階層に置かれるようになった。それ以外の実際の一時的データと一緒に配置すると、ときおりログファイルまで削除してしまうことがあった。
- Bakeテンプレートは src/Template/Bake に配置されるようになった
ベンダープリフィックスのあるプラグインの変更
ベンダープリフィックスを使用しているプラグイン(例:AcmeCorp\Users)は、名前を変更できなくなりました。Users.User の代わりに、AcmeCorp/Users.User を使用しなければなりません。ベンダープリフィックスはプラグインフォルダ中のフォルダ名としても使用されるため、プラグインは plugins/AcmeCorp/Users にインストールされるべきです。
メソッドの削除
- basics.phpにある殆ど使用されないメソッドは多数削除されました。config() などはもう存在しません
- Validation::ssn() は削除されました
- CASE文のサポートがORMに追加されました
- Helper::webroot()、Helper::assetUrl()、Helper::assetTimestamp() はUrlHelperに移行しました。URL構築機能を各ヘルパーから簡単に移行できます。ヘルパー内で$helpersにUrlを追加して使用します。
- App::objects() は削除されました
将来のベータやリリース候補版のリリースでの変更の影響が小さくなることを願います。
3.0.0 ベータ1の新機能
- プラグイン用エラーページの改善
- ORMやフレームワーク全体のバグ修正
- クッキーのパスがデフォルトでアプリケーションの基準ディレクトリに設定されるようになった
- Query オブジェクトはjsonシリアライズが可能になった
- Shell::param() が追加された
- 配列をコレクションに変更するための collection() メソッドが追加された
- 多くのAPIドキュメントのブロックやセクションが改善された
- 複数のパフォーマンスの最適化を施した
3.0.0の変更点の詳細は移行ガイド(英語)を参照してください。
終わりに、3.0のリリースに様々な形で関わってくださったすべての皆さんに感謝します。皆さんの助けがあったからこそ大きな進展を遂げられました。