Skip to content

Latest commit

 

History

History
36 lines (23 loc) · 1.84 KB

mig_0_8_5.md

File metadata and controls

36 lines (23 loc) · 1.84 KB

BEAR 0.8.5

以前のバージョンから BEAR 0.8.5 またはそれ以降に更新する際は、下記の移行上の注意点に注意すべきです。

BEAR_Resource

リソースのLazyロードを実現するためにリソースリクエストの戻り値がBEAR_RoからBEAR_Ro_Prototypeという型に変更されました。BEAR_Roは*リソース状態*を表すオブジェクトですが、BEAR_Ro_Prototypeは*リソースリクエスト*のオブジェクトです。リクエストやリソースセットのセットをいつ行うか(lazy or eager)というオプションを選択できるようになったことによる変更です。

これに伴ないCRUD操作のメソッド( read(), update(), create(), delete() )だけではそのリソースリクエストは実行は完了しなくなりました。必ずリソースリクエストのメソッドチェーンの後に以下のいずれかのメソッドが必要となります。

  • getBody()
  • getRo()
  • request()

リソースリクエスト*から*リソース状態*にするアクションがないとリソース状態が利用できません。 下記のコードでは実リクエストが行われません。

$this->_resource->update($params); //これではダメ

下記のようにrequest()が必要です。

$this->_resource->update($params)->request();

「足あと更新」など画面表示や、その後の操作に影響ないものはrequestOnShutdown()メソッドでPHPのShutdown時に実行することができます。DBのアクセスする前に画面表示をすることで、ページ表示のレスポンスを向上します。

$this->_resource->update($params)->requestOnShutdown();

BEAR_Resource::getRo()

中身がreturn $this;であったこのメソッドは廃止されました。