by markstory
CakePHPコアチームはCakePHP 3.0 の最初の開発版プレビューが入手可能になったことをお知らせいたします[1]。 チーム一丸となって一生懸命働いたので、良い進捗が得られ、ワクワク・嬉しく感じています。来たるべき CakePHP 3.0 のリリースに向けて、早めのフィードバックをエルことが、この開発版プレビューリリースの目的です。CakePHP 3.0 ではおおくの変更点がありますが、今回のリリースではORMに注目しましょう。
CakePHPのモデル層はこれまで8年にわたってコミュニティを支えるのに貢献してきましたが、そろそろ陰りも見えてきています。CakePHP 3.0 の目標のひとつは、古くなったORMをより一層モダンなオブジェクト指向の実装へと置き換えることです。この開発版プレビューは新しいORMの土台となるものです。将来のリリース 3.0 では、いくらかクセはあるものの、たくさんの機能/メソッドをORMに期待できます。
CakePHP 3.0 は、大幅に後方互換性を排除します。このプロジェクトでこれまでで最大のものです。既存のメソッドやクラスを修正するのはそれが必要とされる場合だけにしています。しかしながら、ORMの近代化はこのフレームワークの他の部分に大幅な波及効果をもたらしています。すばらしいORMとするために我々が着手し作り上げた ORM/モデルに触れるもの全てに大幅な変化を期待できます。
まだプレビュー版です。。。
覚えておいていただきたいのは、まだ開発版プレビューリリースであるということです。多くの機能は未完成または未実装です。たとえば、TreeBehavior や TranslateBehavior はまだ3.x版には含まれていません。このリリースはアルファ版としての使用を想定しており、製品版としての仕様を意図していません。わたしたちはこのプレビュー版をリリースすることでコミュニティの皆さんから CakePHP3.0 へのフィードバックを得たいと思っています。以下にあげる機能は不完全であるか使用できません。今回はこれらの機能についてのバグレポートは必要としていません。
Console/cake bake
が動作しない- FormHelper が新しいORMに準拠していない
- SchemaShell が削除された
- Scaffold が削除された
- 多くのビヘイビアが削除されたか動作しない
- AclComponent が DbAcl と連携しない
未完成のサブシステムに加え、APIの変更が多くのサブシステムに影響を与えています。移行ガイドを読んで、どのメソッド/クラスに変更が加えられたかについて確認するようにおすすめします。
そのほかの改善
ORMのほかにも、フレームワークに改善を施しています。変更点の概要は以下のとおりです:
- リバースルーティングは一貫した時間で動作するようになった。以前のリリースではリバースルーティングのパフォーマンスはルートが増えるに従って減少していった。名前付きルーティングやほかのルーティングパフォーマンスの最適化のおかげで多数のルーティングにも関わらず一貫性を保つことができた。
- プリフィクス・ルーティングはコントローラのサブネームスペースにマップされることになり、メソッド名のプリフィクスではなくなった
- 新しいHTTPクライアント。HttpSocketクラスは全体的に書き直されました。よりシンプルになり、パフォーマンスが改善され、簡単に利用できるようになった
- 簡潔なコンフィグレーション。もともとCakePHPはそれほどコンフィグレーションを必要としていない。より簡潔なコンフィグレーション、これまで以上に透過的。
- コミュニティ標準を採用。CakePHPはPSR-0、PSR-1に影響を及ぼし、composerをサポート。
- 最新式イベントシステム。よりシンプルになり、これまで以上に効率的になった。
始めてみよう
フレームワークの変更に先立って、アプリケーションのスケルトン[3]のためのリポジトリを作成しました。composer[4]を使用して開発版プレビューを使用できます。ダウンロード・composerのインストール後に、以下のように使用できます。
$ php composer.phar create-project -s dev cakephp/app
新しいアプリケーションを生成し、CakePHP 3.0 をお試しになれます。
オンラインドキュメント
プレビューリリースであっても、コード変更の傍らドキュメントの作成にも忙しく携わりました。まだ作成中のドキュメント[5]とAPI[6]はオンラインでご覧になれます。ドキュメントやサンプルコードは出来次第すぐに更新されます。
貢献するには
わたしたちとおなじように CakePHP 3.0 にワクワクしているなら、かかわる方法はいろいろとあります。github[7]の未解決の課題を助けたり、RFC/要望のオープンチケットにあなたのご意見をお寄せください。ドキュメントを読んでいて間違いに気づいたら、課題を登録するかプルリクエストを申請するなどしてお知らせいただけます。
3.0へのアイデア、コード、ドキュメント、フィードバックによって関わってくださった皆さんに感謝します。これはプロジェクトの大きなマイルストーンであり、CakePHPの最善のバージョンの作成は始まったばかりなのです。
リンク
- [1] https://github.com/cakephp/cakephp/releases/3.0.0-dev1
- [2] http://book.cakephp.org/3.0/en/appendices/3-0-migration-guide.html
- [3] https://github.com/cakephp/app
- [4] http://getcomposer.org
- [5] http://book.cakephp.org/3.0/en/
- [6] http://api.cakephp.org/3.0/
- [7] https://github.com/cakephp/cakephp/issues?milestone=7&state=open
訳注:後方互換性に関する段落、どなたか添削をお願いしたく〜お待ちしております!
「CakePHP 3.0.0 開発版プレビュー 1 がリリースされました」への2件のフィードバック