元記事はこちら。
計画中の作業は全て完了したため、4番目の開発版プレビューはリリースされないことになりました。これは、次回のリリースはアルファ版になるということであり、開発チームはこれから主に新機能やドキュメントのブラッシュアップ、2.x系のプラグインの移行に取り組んでいくということです。3.0の開発ペースが早いことを喜んでいます。
また、開発チームはかなりの時間を新しいORMについてのすべてのコミュニティフィードバックとの併合につぎ込んでいます。大勢の人たちがより包括的で使いやすいものにする努力をつぎ込んでくれていることに、わたしたちは謙虚にさせられます。
このリリースには新機能や変更点をすべて盛り込んだドキュメントも含まれていますので、CakePHP 3.0 ブック(英語)をご覧ください。
3.0.0開発版プレビュー3の新機能や変更点の概要は以下のとおりです:
コンソールの改善
- 新しくConsoleIOクラスが追加された。シェルの入出力に共通のメソッドが含まれており、便利なクラス
- コンソールメソッドは渡された引数を関数のパラメータのように受け取るようになった。コントローラのアクションと似た振る舞い
- タスクにサブコマンドを追加することが必須になった
- シェルコマンドに別名をつけられるようになった。例えば、”Console/cake bake model”の代わりに”doConsole/cake b model”など
ビューセル
ビューセルはコントローラのような機能を提供する小さなクラスですが、様々なデータソースからデータを取得し、特定のテンプレートに描画できるよう、ビュー直接使用できるものです。
ビューセルについてさらに読む(英語)
新しいTimeライブラリ
Timeクラスは内部でCarbonを使用する形式に書き直されました。CarbonライブラリとDateTimeができることは、新しいTimeライブラリでもできます。これはTimeライブラリのメソッドはもはや静的ではなく、オブジェクトのインスタンスを生成して各メソッドにアクセスする必要があるということです。
新しいTimeクラスが追加されたことに加え、ORMも改善されたため、エンティティのtimestamp/datetime型の列はCake\Utility\Timeクラスの恩恵を受けられます。
最後に、Timeライブラリは、2.x系で提供されたものよりも数倍上のロケールに左右されない日付フォーマットをサポートする国際化関数のphp拡張を使用しています。
Bake
ついにCakePHP3.0でもBakeが動作するようになりましたが、幾らかの新機能が追加されています:
- Bakeはプラグインによる拡張が可能になりました!オリジナルのbakeタスクを作成でき、自動的に検知されます。自分で”Console/cake bake super_table”を実装できるようになったということです
- シェル、セル、コンポーネント、ビヘイビアなどをbakeできるようになった
さらに幾つか変更:
- 新しいORMでMicrosoft SQL Serverのサポートが追加された
- TreeBehaviorは再実装され、2.x系と同等の機能を提供するようになった
- ビヘイビアもコンポーネントもconfig()メソッドを持つようになり、publicプロパティを使用した設定は削除された
- ORMの複数のバグ修正
- 階層構造のデータの取扱のために Collection::nest() と Collection::listNested() が追加された
- Validator::allowEmpty() を補完するために Validator::notEmpty() が追加された
- 例外ファイルは対応する名前空間に移動された
- ビューオブジェクトの構成の簡素化により、もはやコントローラに依存しなくなった
- モバイル機器の増加に伴い、Request::isMobile が外部ライブラリを使用するように調整された
コミュニティ プラグイン
3.0系での変更を日毎にキャッチアップしてくれている人々もいました。動的スキャフォールディングと自動ADMIN生成のためのCRUDプラグインに触れておきたいと思います。CakePHP 3.0 の迅速開発に乗る良い方法です。
Dereuromark氏の Tools plugin は CakePHP 3.0 ですぐに使えるいいビヘイビアがあるようです。
次は
次のリリースはアルファリリースとなり、以下の点に注力しています:
- リクエストオブジェクト内でセッションオブジェクトを活用する。もはや静的でない
- 新しいミドルウェアレイヤの実装
- テーマをプラグインとして実装
- CookieComponent が再稼働するように
- i18nをオーバーホールして intl を使用するようにし、i18n エンジンをサポート
3.0へのアイデア、コード、ドキュメント、フィードバックによって関わってくださった皆さんに感謝します。安定版になったとき、それは最も重要で高機能なリリースとなるでしょう。
「CakePHP 3.0.0 開発版プレビュー 3 がリリースされました」への1件のフィードバック