CakePHP2.0の概要(訳)

注意

  • この訳は現時点(2010/5/10)での暫定的なドキュメントの対訳になります。
  • 完全な情報は、各セクションの先頭にある元ページ(英語)を参照してください。
  • これらの最新の対訳を1.3のときと同様に翻訳サイトにアップするかもしれません。そのときはこのブログやtwitterなどで告知します。(その後は、cookbookへ移行という流れになるでしょう)

ロードマップ

http://cakephp.lighthouseapp.com/projects/42648/2-0-development-roadmap
ーここから対訳
以下はCakePHPの機能の「やっつけリスト」(訳注:"hit list")になります。

優先順位リスト
  • E_STRICTへの準拠
  • 適切なアクセス修飾子の適応とCake自身のアクセス修飾子違反の修正
  • PHP4ハック(訳注:PHP4にないPHP5の機能・振る舞いのためのハック)の削除
  • 非推奨のクラスと機能の削除
  • FileクラスとFolderクラスのSplFileObjectを用いた置き換え
  • Fileクラスの非推奨化
  • Folderクラスの非推奨化
  • 可能なところはSplを使う
  • XMLの悲惨な状況の修正。SimpleXmlが必要なほとんどのものを提供することになるでしょう。
  • モデル、ヘルパー、コンポーネントのLazy loadingと初期化
  • 可能なところは例外処理、インターフェース、抽象クラスを使う
非分類済み
  • フレームワークのより良い分離
  • ヘルパのエイリアス
    • 例: $helpers = array('Html' => 'MyCustomHtml');
  • ビヘイビアのエイリアス
    • 例: $actsAs = array('Containable' => 'MyCustomContainable');
  • コンポーネントエイリアス
    • 例: $components = array('Html' => 'MyCustomHtml');
  • モデルの書き直し
    • オブジェクトを返り値とする(訳注:find()の戻り値、例:$data->user_nameや$data->Group->idなどとなる?)
    • DataMapperパターンに近いモデリング
  • ビヘイビア
    • ClassRegistryから削除
  • DboSource
    • 可視性の問題・アクセスの修正
  • Containableビヘイビア
    • 可視性の問題・アクセスの修正

ーここまで対訳

移行ガイド

http://cakephp.lighthouseapp.com/projects/42648/2-0-migration-guide
ーここから対訳

このページはプロジェクトを2.0に移行する手助けをする、CakePHP 1.3からの変更点の要約をします。またこれは、コアへのCakePHP 1.3ブランチからの変更点への最新の開発者リファレンスともなります。

概要
  • サポートするPHPバージョン
  • 言語化・地域化(訳注:i18n,l10n
  • getMicrotime()の削除
  • AjaxHelperとJavascriptHelperの削除
サポートするPHPバージョン

CakePHP 2.xはPHP 5.2以上をサポートします。PHP4のサポートは止めることになります。いまだPHP4環境での案件で働いている開発者のために、PHP4の開発とサポートの継続期間のうちまで、CakePHP1.xは続けてPHP4をサポートします。
PHP5に移行するということは、全てのメソッドとプロパティはアクセス修飾子を伴うように書き直されるということです。コード内でprivateもしくはprotectedメソッドをpublicスコープから参照しようと試みると、エラーに遭遇することになります。
これは実際にはフレームワークに多大な変更を与えるわけではありませんが、現在、より厳しくなった可視性を持つメソッドと変数へのアクセスが不可能となったことを意味します。

言語化・地域化(訳注:i18n,l10n

__() (二つのアンダースコアでのショートカット関数)はデフォルトで返り値を返すようになりました。
これは昔はこう書いたものが:

__('My Message', true);

こう書くようになったということです:

__('My Message');

翻訳の結果を表示させたい場合は、

echo __('My Message');

としてください。この変更は全ての翻訳のショートカット関数を含みます:

__( )
__n( )
__d( )
__dn( )
__dc( )
__dcn( )
__c( )
getMicrotime()の削除

PHP4フレンドリーなマイクロ秒を生成する方法は削除され、PHP5関数に置き換えられました:

microtime(true);

これは単純な変更で、あなたのコードにおいて検索と置換が容易にできます。

AjaxHelperとJavascriptHelperの削除

AjaxHelperとJavascriptHelperは削除されました。
AjaxHelperとJavascriptHelperは1.3バージョンから非推奨となったため削除されました。
これらはJsHelperとHtmlHelperに置き換えられました。
より良いドキュメントはCakePHP1.2から1.3への移行で見つけることができます。