2.7 移行ガイド
CakePHP 2.7 は、2.6 の API の完全上位互換です。 このページでは、2.7 の変更と改善についてのアウトラインを紹介します。
システム要件
CakePHP 2.7 で必要な PHP バージョンは、 PHP 5.3.0 に引き上げられました。
コンソール
- プラグインの名前と共有するプラグインシェルは、プラグインのプレフィックスなしで 呼ぶことができます。例えば、
Console/cake MyPlugin.my_pluginは、Console/cake my_pluginで呼ぶことができます。 Shell::param()が 3.0 から 2.7 にバックポートされました。このメソッドは、 notice エラーの心配なしに CLI オプションを呼ぶことができます。
コア
Configure
- 1ステップで Configure から読み込みと削除をするための
Configure::consume()が追加されました。
データソース
- null が使えないカラムで、行が新規作成もしくは更新される時、 SQL データソースは、
''とnullを''にキャストします。
CakeSession
- 1ステップでセッションから読み込みと削除をするための
CakeSession::consume()が追加されました。 CakeSession::clear()に引数 $renew が追加されました。 新しい id を強制せずにセッションを空し、セッションを更新します。 デフォルトはtrueです。
モデル
TreeBehavior
- 新しい レベル 設定が利用可能になりました。ツリーノードの深さが保存されている フィールド名を指定できるようになりました。
- ノードの深さを取得する新しいメソッド
TreeBehavior::getLevel()が追加されました。 TreeBehavior::generateTreeList()のフォーマット処理は、TreeBehavior::formatTreeList()メソッドに抽出されました。
ネットワーク
CakeEmail
- CakeEmail は、 インスタンス生成時に使用する設定を明示していなかった時、 'default' 設定を使用するようになりました。例えば、
$email = new CakeEmail();は、 'default' 設定を使用します。
ユーティリティ
CakeText
String クラスは、 CakeText に名前を変更しました。これは、 PHP7 以上や HHVM に関連するいくつかの互換性の衝突を解決します。 String クラスもまた、互換性のために残されました。
Validation
Validation::notEmpty()は、Validation::notBlank()に名前を変更しました。 PHP の notEmpty() 関数との混乱を避けることが狙いです。このバリデーション規則は、0も正しい入力として受け入れます。
コントローラ
SessionComponent
- 1ステップでセッションから読み込みと削除をするために
SessionComponent::consume()が追加されました。 SessionComponent::setFlash()は非推奨です。代わりにFlashComponentを使用してください。
RequestHandlerComponent
- Accept ヘッダー
text/plainは、自動的にcsvレスポンスタイプへのマップを やめました。これは、3.0 からのバックポートです。
ビュー
SessionHelper
- 1ステップでセッションから読み込みと削除をするために
SessionHelper::consume()が追加されました。 SessionHelper::flash()は非推奨です。代わりにFlashHelperを使用してください。
テスト
ControllerTestCase
ControllerTestCase::testAction()は URL として配列をサポートします。