by markstory
CakePHP コアチームはCakePHP 2.6.0 が入手可能になったことをお知らせいたします。
CakePHP コアチームはCakePHP 2.6.0 が入手可能になったことをお知らせいたします。RC1以降わずかな変更がありましたが、それは以下のとおりです:
- AuthComponent は ユーザーがログイン後に Auth.afterIdentify イベントを起動するようになった
- HtmlHelper::script() と HtmlHelper::css() で、optionに「once」が指定されている場合、アセットリストを共有しないように修正された
- Postgres ドライバで、sslmodeをサポート
- テストスイートで、PHPUnit の phar ファイルを使用できるようになった
- MySQL ドライバで、RLIKE演算子をサポートするようになった
- API ドキュメントの改善
- PaginatorHelper は、アクティブリンクのオプションと非アクティブリンクのオプションをマージするようになった
新機能のハイライト
- Debugger::trace() の便利なラッパー関数として stackTrace() が追加された。debug() の出力内容と同じだが、デバッグレベルが on のときのみ出力される
- ConsoleOptionParser::removeSubcommand() の追加
- プログレスバーの生成や、画面に出力済みの文字列を置換するために大量の行を出力することを避けるため、
Shell::overwrite() が追加された - AclBehavior 使用時に、モデルの parentNode() メソッドは第一引数にタイプ(Aro, Aco)を取るようになった。$model->parentNode($type)
- MySQL のスキーママイグレーションで、カラム追加時の after 指定に対応。このキーは新しいフィールドをどのカラムのあとに追加するかを指定できる。
- Model::save() で、atomic オプションが 3.0 より逆移行された
- CakeRequest::param() は、data() のように :ref: ハッシュパス構文を読み込めるようになった
- CakeRequest:setInput() の追加
- HttpSocket::head() の追加
- リクエスト生成時に、使用する特定のプロトコルをプロトコルオプションを上書きして使用できるようになった
- CakeTime::timeAgoInWords() は strftime() 互換の日付書式をサポートするようになった。ローカライズされた日時書式を簡単に作成できるようになった
- CakeTime::timeAgoInWords() は relativeStringFuture オプションをサポートするようになった。このオプションは相対日時書式を出力するための printf 互換の文字列である。これによりローカライズされた書式の日時が簡単に作成できるようになった
- Hash::get() は、パス引数が無効の場合に例外を送出するようになった
- Hash::nest() は、ネストされた処理でデータが無かった場合に例外を送出するようになった
- HtmlHelper::css() に once オプションが追加された。HtmlHelper::script() と同じ動作。後方互換性のため、デフォルトはfalse
- 対応するデータベースのフィールドがvarcharの場合に、HTMLの仕様通り maxlength 属性が textarea にも適用されるようになった
- 新しい i18n の機能が追加された。新機能はメッセージ文字列の曖昧さの解消のためのもの。たとえば英語の「read」は文脈に応じていろいろな意味を持つ。新しい関数 __x, __xn, __dx, __dxn, __dxc, __dxcn, __xc を使って新機能を利用できる
- AuthComponent は ユーザーがログイン後に Auth.afterIdentify イベントを起動するようになった
- Model::afterFind() は一貫した afterFind() フォーマットを使用できる。$primary が false の場合、結果はいつも$data[0][‘ModelName’] に格納される。アプリケーション中のビヘイビアが古い場合のために、$this->useConsistentAfterFind = false によりオリジナルの振る舞いにできる
- 設定値 I18n.preferApp により、翻訳の順序を制御できる。trueにセットされた場合、プラグインの翻訳よりもアプリケーションの翻訳が優先される
非推奨
新機能に加えて、非推奨になった機能もあり、CakePHP 3.0 で削除される予定です。
- Validation::between は非推奨になった。代わりに Validation::lengthBetween を使用すべき
- Validation::ssn は非推奨になった。スタンドアロンもしくはプラグインとして提供される予定
- HtmlHelper::link() の引数 $confirmMessage は非推奨になった。代わりに、メッセージを指定する場合は$optionsのconfirmキーに設定するべき
- FormHelper::postLink() の引数 $confirmMessage は非推奨になった。代わりに、メッセージを指定する場合は$optionsのconfirmキーに設定するべき
2.xの今後
2.6.0のリリースにより、開発ブランチ2.7.0が作成されました。このブランチは5〜6ヶ月以内にリリースされる予定で、2系のAPIと互換性を保つリリースになる予定です。2.7では大幅な機能追加を予定していないため、3.0への移行をスムーズにするために役立つ機能を3.0から逆移行する可能性もあります。
コミット、チケット、ドキュメントの編集ほか、このフレームワークに関わってくださった皆さんに感謝します。
皆さんの助けのおかげでCakePHPはここまで来れました。