CakePHP 2.3.0ベータがリリースされました

元記事はこちら

by lorenzo

今回のリリースにはCakePHPのパフォーマンス・セキュリティ・簡便性の改善など、幾つかの新しい機能が含まれています。


CakePHPコアチームはCakePHP2.3.0-betaが入手可能になったことをお知らせいたします。今回のリリースにはCakePHPのパフォーマンス・セキュリティ・簡便性の改善など、幾つかの新しい機能が含まれています。この新しいバージョンは後方互換性を保ちつつ2.2系に替わるものとなります。移行ガイドはマニュアルに記載されていますので、旧バージョンからアップグレードする場合はご一読をおすすめします。

変更点の概要は以下のとおりです:

定数

  • CACHEとLOGSを簡単に定義できるようになり、条件付きの定義も可能になった。

キャッシュ

  • FileEngineが常にデフォルトのキャッシュエンジン。過去に、多くの人々がAPCをコマンドライン・インターフェース/Webの両方にセットアップ・配備するのに困難を感じていた。新しいデベロッパにとって、ファイルの使用はCakePHPのセットアップがより簡単に感じるでしょう。

コンポーネント

AuthComponent

  • 新しい証明アダプタが追加され、blowfish/bcryptハッシュのパスワードがサポートされます。$authenticate 配列内で Blowfish を利用し、bcryptパスワードが使用できるようになります。
  • 不正アクセス攻撃を受けた場合にリダイレクトの代わりに例外をスローするようになった。AuthComponentの新しいオプションで制御できる。ステートレスの認証をブロックしたい場合に便利。

PaginatorComponent

  • PaginatorComponentがfindTypeオプションをサポート。ページネーションでどのfindメソッドを使用していたかを特定するのに使用できる。0番目のインデックスを管理・セットするよりは簡単。

SecurityComponent

  • SecurityComponentがunlockedActionsオプションをサポート。オプション内に列挙されたアクションですべてのセキュリティチェックを使用不可にすることができる。

RequestHandlerComponent

  • RequestHandlerComponent::viewClassMap() を追加。ビュークラス名とコンテントタイプをマッピングするのに使用される。$settings['viewClassMap'] を追加すれば、拡張子/コンテントタイプに基づいて正しいviewClassを自動的に設定できるようになる

CookieComponent

  • CookieComponent::check() の追加。CakeSession::check() と同じように動作する。

コンソール

  • サーバーシェルの追加。PHP5.4以降のWebサーバーで利用開始できる。
  • Bakeで新規プロジェクト作成時にアプリケーション毎のキャッシュのプリフィクスをセットするようになった。
  • app/Console/cakeにsymlinkを追加。

I18n(国際化)

  • ISO 639-3の仕様通り、オランダ語のロケールのデフォルトはnldとなり、dutは別名となった。ロケールフォルダを適切に調整する必要がある(/Locale/dut/ から /Locale/nld/ へ)。
  • アルバニア語:sqi、バスク語:eus、中国語:zho、チベット語:bod、チェコ語:ces、現代ペルシャ語:fas、フランス語:fra、アイスランド語:isl、マケドニア語:mkd、マレーシア語:msa、ルーマニア語:ron、セルビア語:srp、スロバキア語:slk。対応するロケールフォルダを適切に調整する必要がある。
  • バリデーションルールのいくつかの内部の文字列のドメイン変換の扱いを修正。
  • すべての翻訳関数が、最初に定義したものでオーバーライドできるようになった

設定

  • Configure::check() の追加。CakeSession::check() と同じように動作する。

Exceptions(例外)

  • CakeBaseExceptionの追加。すべての重要な例外が拡張された。
  • ベースの例外クラスにresponseHeader()メソッドの導入。生成された例外インスタンスに応答用のヘッダを追加することで、例外の応答がインスタンスを再利用できないようにする。

モデル

  • 主要なデータソースやフィクスチャでbiginteger型をサポート
  • MySQLドライバで、FULLTEXTインデックスのサポートを追加
  • find('list') がContainableBehaviorと併用される場合に、Model::find('list') で、最大格納深度もしくはrecursive値をもとにrecursiveの値をセットするようになった。
  • DboSource::resetSequence() の追加。データソースがテーブルのシーケンス値をリセットできるようになった。Postgresなどのデータソースで便利であり、フィクスチャの使用がより簡単になった。
  • DboSource::getLog() が最初の200クエリではなく最後の200クエリを取得するようになった。

バリデーション

  • バリデーションメソッドがない場合は、開発モード以外でもエラーを発生させるようになった。
  • CakeNumber::fromReadableSize()Validation::filesize() の追加。

ネットワーク

  • CakeSocketクラスにenableCrypto() メソッドを追加。
  • SMTPコネクションでTLS/SSLのサポートを追加。

CakeRequest

  • CakeRequest::onlyAllow() の追加。
  • CakeRequest::query() の追加。ドット記法のクエリ文字列で変数にアクセスするため。

CakeResponse

  • CakeResponse::file() の追加。MediaViewは推奨されない。
  • CakeResponseの実体化の際、デフォルトでキャラクタセットをApp.encodingの値でセットされるようになった。

CakeEmail

  • CakeEmail::attachments() で、contentDispositionオプションの追加。添付ファイルに対してContent-Dispositionヘッダを追加しなくてもよくなった。

ルーティング

  • Router::url() に、tel: と sms: のサポートを追加。
  • routeClassパラメータをプラグインに渡す際にドット記法を使用可。
  • 遅延ローディングになった。結果、コマンドラインインターフェースでもルーティングが機能するようになった。

ビュー

  • MediaViewは非推奨になった。同じ結果を得るためにCakeResponseの新機能が利用できる。
  • JsonとXMLのビューのシリアライズが_serialize()に移行した。
  • ビューのテンプレート使用時に、JsonとXMLのビューでbeforeRenderafterRenderのコールバックが呼ばれるようになった。
  • View::fetch() は$default値を渡すようになった。デフォルト値を渡す場合に使用する。
  • View::prepend() の追加。既存のブロックにコンテンツを追加できるようになった。

ヘルパー

FormHelper

  • FormHelper::select() で、属性が使用不可でもリスト値を受け付けるようになった。'multiple' => 'checkbox' と組み合わせる場合、使用不可にしたいリスト値を渡せるようになった。
  • FormHelper::postLink() がメソッドキーを受け付けるようになった。これにより、HTTPメソッドでPOST以外のリンクフォームを作成できるようになった。
  • 複数のチェックボックスで使用不可の属性を受け付けるように修正。
  • hiddenblockテンプレートの HtmlHelper::$tags プロパティを使用して、FormHelperか生成するHiddenブロックをカスタマイズできるようになった。
  • required(必須)フィールドの検出を改善。

TextHelper

  • TextHelper::tail() の追加。テキストの切り詰めを行える。
  • TextHelper::truncate() のオプションは省略記号のために非推奨になった。

PaginatorHelper

  • PaginatorHelper::numbers() で、新しいオプションcurrentTagにより、現在のページ番号をラップするために追加のタグを指定できるようになった。

CakeNumber

  • CakeNumber::fromReadableSize() の追加。
  • CakeNumber::formatDelta() の追加。
  • CakeNumber::defaultCurrency() の追加。

フォルダ

  • Folder::copy()Folder::move() が、元・先のディレクトリでスキップ/上書きのほかにマージをサポートするようになった。

String

  • String::tail() の追加。テキストの切り詰めを行える。TextHelper::truncate() のオプションは省略記号のために非推奨になった。

デバッガ

  • Debugger::exportVar() がPHP5.3.0以降でprivateもしくはprotectedのプロパティを出力するようになった。

セキュリティ

  • bcryptのサポートを追加。bcryptの使い方についてはSecurity::hash() のドキュメントを参照。

コミット、チケット、ドキュメントの編集ほか、このフレームワークに貢献してくれるすべての皆さんに深謝します。あなたがいなければCakePHPは存在しません。

パッケージリリースのダウンロード

リンク


訳注:

誤りを発見された場合はTwitterにてお知らせください。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です