CakePHPコアチームはCakePHP 3.0.0 のリリースをお伝えいたします。これは3.0系の最初のAPI安定版リリースになります。このリリースは過去のCakePHPのバージョンとは後方互換性のないものです。CakePHPの最新版の要件は以下のとおりです:
- PHP 5.4.16 以上
- mbstring 拡張(マルチバイト文字列)
- intl 拡張(国際化関数)
CakePHP3.0の主要な機能の概要は以下のとおりです。
主要な機能
新しいORM
CakePHP3.0の最大にしてもっともエキサイティングな変更は、新しいORMです。CakePHPのモデル層は過去8年にわたってコミュニティに尽くしてきましたが、ほかのフレームワークが提供しているツールから学び、柔軟性があってパワフルなCakePHP用のORMを実装するビッグチャンスと考えました。成果に満足しています。ORM移行ガイド(英語)は新しいORMの概要や、過去のものとどう違うかを示しています。
新しいORMの主要な機能は以下のとおりです:
- Datamapperパターン(英語)の使用
- 各種eager loading(英語)のサポート
- クエリビルダの流れるようなインターフェース(英語)の改善
- コレクションライブラリ(英語)によるデータの前処理の組込サポート
- 複合プライマリキーのサポート
- 結果を配列もしくはオブジェクトのいずれでも受け取れる
- 複雑な型キャストをデータベースから、もしくはデータベースに行えるカスタムデータタイプ(英語)
速く、より柔軟なルーティング
リバースルーティングは一貫した時間で動作するようになりました。以前のリリースではリバースルーティグは、ルート数が増えるにつれパフォーマンスが悪くなるものでした。名前付きルーティングなどの最適化を行い、ルート数が増えてもルーティングのパフォーマンスは低下しません。
ルーティングのスコープを使用することで、解析と処置が過去のCakePHPよりも早くなっています。新しいルーターについてはマニュアルのRoutingセクション(英語)で読むことができます。
マイグレーションの改善
phinxベースのよりパワフルなmigrations(英語)プラグインにより、アプリケーションのマイグレーションの作成と実施が簡単になりました。
国際化の改良
I18nサブシステムはPHP拡張のintlを使用したものに書き直されました。これによりCakePHPは以下のものを提供できるようになりました:
デバッグツールバーの改善
DebugKitは3.0用に書き直され、これまで以上の機能を最小のオーバーヘッドで提供できます。DebugKitはアプリケーションのスケルトンにデフォルトでインストールされます。
Composerの使用
CakePHP、アプリケーションのスケルトン、いくつかのコンポーネント(bake, acl, migrationsとDebugKit)はcomposer経由でインストールされます。アプリケーションの依存性をシンプルに管理するために、composerの使用をおすすめします。
スタンドアロン ライブラリ
CakePHPのいくつものライブラリはスタンドアロンライブラリに分割されました。それぞれのライブラリはCakePHPアプリケーション以外でも利用でき、2系のアプリケーションで3.0の新機能を活用してみたい場合でも使えます。
ビューセル
ビューセルはコントローラのような機能を提供する小さなクラスですが、様々なデータソースからデータを取得し、特定のテンプレートに描画できるよう、ビューで直接使用できるものです。
ビューセルについてさらに読む(英語)
はじめに
フレームワークの変更のほかに、アプリケーションのスケルトンの新しいリポジトリを作成しました。composerを使用してインストールできます。composerのダウンロード、インストールののち、以下のようにします:
$php composer.phar create-project cakephp/app
新しいアプリケーションが生成され、CakePHP3.0を試験使用できます。
ドキュメンテーションについてさらに学ぶ
アプリケーションを作り始めたなら、クイックスタートガイド(英語)または移行ガイド(英語)を読んで、CakePHP3.0の変更や新たな可能性について学んでください。
コミュニティプラグイン
CakePHP3.0はまだ若いのに、すでに大きなコミュニティがあります。多数のプラグインがこの新バージョンのために作成され、バージョン2の頃から愛用されていたプラグインはすでにアップグレードされています。CakePHP3のコミュニティプラグイン一覧(英語)をチェックしましょう。どれが使用可能で、どれがアップグレードが必要かが分かります。
新しいCakePHPのリリースのために数年間をかけて実装しました。たくさんのサポートを皆様からいただき、感謝しています。ドキュメントの編集、プルリクエスト、バグレポートを通して、最初の開発版プレビューからコミュニティの皆さんの関わりに感激しています。
パッケージリリースのダウンロード、またはクイックスタートガイド(英語)から始める