CakePHP3.0の片鱗が見えてきた

まだまだCakePHP3.0のリリースには時間がかかると思いますが(たぶんあと1年ぐらい)、だんだんと3.0の形が見えてきました。CakePHP3からはPHP5.4以上が必須になるようなので、ホスティング環境にかなり左右されそうです。さくらインターネットが今日ホスティングのPHP5.4対応を発表しましたね、そういえば。

今、分かっているものや検討中の情報をまとめます。

CakePHP3.0の機能を紹介するプレゼン動画(翻訳付き)

動画: http://www.ustream.tv/recorded/26673480
スライド: http://www.slideshare.net/josezap1/cakephp-30-embracing-the-future-15080099

先日開催したPHPMatsuri2012に、CakePHPコアデベロッパーのJoseさんを招待して講演してもらいました。
CakeFest2012でもCakePHP3の話はなかったのに!!
世界中のどこよりも早く聞けたのは、PHPMatsuriだけ。やっててよかったPHPMatsuri。

Composerでインストールから管理するまで

CakePHPリードデベロッパーのマークさんのブログ記事。
http://www.mark-story.com/posts/view/using-composer-in-cakephp-3-0
Composerベースで管理できるようにするそうです。いくつかコードがコミットされています。
https://github.com/markstory/cakephp/commits/3.0-composer

Modelの設計

CakePHP3からモデルがオブジェクトを返したり、クエリビルダーを提供したり、レコード/テーブルオブジェクトの区分けを設けるなど、変更点が書かれています。
https://github.com/markstory/cakephp/wiki/Model-api-changes
ここらへんの話は、上に挙げたJoseさんのプレゼンでも触れられています。
モデルの実装は、下記のリポジトリで行われています。
https://github.com/cakephp/cakephp/commits/3.0-database
コミットの日付を見ると、3ヶ月ぐらいまえにガシガシ書いてた感じ。クエリビルダの実装もされている。
https://github.com/cakephp/cakephp/commit/bfbf2cc0a2a311fc3ae3aa1501b4c8e2cb23b7d9

Router

リバースルーティングが遅いという問題の解決や、今後のルーティングの実装が検討されている。
https://github.com/markstory/cakephp/wiki/Router.next
ちなみに、英語だとルータじゃなくて、ラウターって言う人が多い。関係ないけど。。。。