By lorenzo
CakePHPコアチームは、メジャーバージョンアップをお知らせいたします!CakePHP 2.0 安定版をリリースします。このリリースのために多大の時間を費やし、素晴らしいアイデアがこのフレームワークに盛り込まれました。以下に、2.0の概要を示します。
- PHP4のサポートを終了し、すべてのコードをPHP5.2以降に対応するように厳密にリファクタリング
- 例外、PDO、SPL、json_encodeなどのPHP本来の機能を使用
- ファイル名に関するPSR-0の提案を採用。これですべてのクラスは同じ名前でファイルにマップされます。覚えることが減りました!
- 新しいエラーと例外ハンドラの設定の簡略化、「ページが見つかりません」「認証エラー」ほか多数のエラー処理の簡略化
- 国際化機能の改善により、多言語開発の簡便化
- コンポーネント、ヘルパー、ビヘイビアなどの、プログラマ自身のオブジェクトがCakePHPライブラリとして動作することをサポート。コアファイルに手を入れる理由を無くしました。
- コンソールライブラリの再構築。自動ヘルプ生成、パラメータチェック、色など。
- HTTPリクエストのハンドリングの簡便化のための新しいリクエスト・レスポンスオブジェクト。
- カスタムエンジンへの対応の簡便化によるセッションハンドリングの向上。セッションをMemcacheなどのストレージシステムに置くことが容易になりました。
- 認証システムを全面的にリファクタリング。自前の権限管理システムや外部のログインサービスへの設定や接続が容易になりました。
- 新しいEメールライブラリの多重配信サポート。アプリケーション全般の設定やログ記録、文字コード設定が容易になりました。
- PHPUnitを採用し、SimpleUnitを廃止しました。PHPUnitはPHPにおけるテストフレームワークのデファクトで、多くのオプション、モックオブジェクトやコンソール出力などに対応しています。リンク
- セキュリティコンポーネントの改善。CSRFやフォーム不正操作攻撃などからの保護が容易になります。
- PostgreSql、SQLite、SQLServerのサポートの改善。MySQLデータソースと同じ扱い(ファーストクラス)になりました。
- フォームヘルパーによる入力フォームのHTML5対応
- 新しいCSS3の特色によるかっこいいデフォルト表示。
- ほぼすべての遅延ローディングによる速度改善。デバッグモードでも飛ぶように早いでしょう。
CakePHP2.0の長所を表現し切れないように思いますので、同時にリリースできるように準備された、このフレームワークで最高のドキュメント(英語)を読むようにお勧めします。
訳注:日本語はこちら。この記事を書いている段階では、まだ作成中の模様。
CakePHP2.0の長所をよく知るためにこのビデオ(英語)も見てください。スライドもあります。
今日のリリースまでのロードマップを示したこのビデオ(英語)も、時間をとって見てください。
CakePHPエコシステムも全面的に改善されました。すべてのコアテストを一つのコマンドで実行できるように、時間をかけて作成しました。これによって、新しい継続的インテグレーションサーバを使って、コアコードの健全性を確認できるようになりました。これが堅牢なフレームワークになると、これまで以上に確信しています。
CakePHP1.3からの移行については、詳細な移行ガイド(英語。日本語はこちら)を参照してください。このリリースに付属しているUpgradeシェルを使用するようにしてください。すでに多くのアプリケーションが移行済みであり、手順上の選択もとてもスムースにいきます。このバージョンはよく知られたプラグインでも新しいものでも完全に動作します。幾つかの顕著な点です:
- DebugKit :
開発ツールバーを提供する。パフォーマンス計測、リクエストの履歴、ビュー変数の検査などの便利な機能があります。 - AclExtras : ACLによる権限設定の生成と同期を容易にします。
- Localized : 国別のバリデーションクラスで、アプリケーション内で適切な各国語のテキストを表示します。
- Datasources : XMLRPCやLDAPなどのデータソースを別途作成できます。
- Migrations : データベーススキーマの移行と履歴管理を簡単に行えます。
- Search : URLのリクエストから複雑な検索式を組み立てる機能を数分で実装できます。
- Entity : モデルが配列ではなくオブジェクトを返すようにするプラグインです。
- MongoDb : MongoDBをデータベースとして使用するソリューション。データソースを変えたことさえ気づかないでしょう!
- MongoCake : MongoDBのDoctrine ODMを使用するための互換用ブリッジ。モデルはオブジェクトを返します。
CakePHP2.0.0-RC3より、79のコミットと20のチケットが解決されました。変更点を幾つか記します:
- CakeEmailで、本文とヘッダのキャラクタセットの対応を追加。これにより日本語のキャラクタセットでメールを送れるようになる。
- ドキュメントの内部リンクを更新。
- ビヘイビアとヘルパーの設定のために文字列を使用していたものを廃止。
array('MyBehavior' => 'config string')
の記法は使えない。代わりに配列を使用して設定する。 - カスタムアダプタを使用したセッションはエラーをスローしない。
- 使用していない例外クラスの削除。
コントリビューションからコミット、チケット、ドキュメントの編集ほか、関わった皆さんに深謝します。あなたがいなければCakePHPは存在しません。