Ticket #596 (closed バグ指摘: 修正済)
同じマスターデータを2回読み込むと、2回目はキャッシュが使われない
Reported by: | uchida | Owned by: | nanasess |
---|---|---|---|
Priority: | 中 | Milestone: | EC-CUBE2.4.3 |
Component: | その他 | Version: | 2.4.2 |
Keywords: | Cc: | ||
修正済み: |
Description
getMasterData ですが、2回目の呼び出しではキャッシュファイルが使われません。
// キャッシュファイル mtb_order_status.php がある状態にて。 $masterData = new SC_DB_MasterData_Ex(); // 1回目はキャッシュファイルから読み込まれます。 $masterData->getMasterData("mtb_order_status"); // 2回目はDBから読み込まれます。 $masterData->getMasterData("mtb_order_status");
SC_DB_MasterData.php のキャッシュ読込みに include_once を使っているのが原因かと思います。 2回目はインクルードされないため、getMasterDataのスコープ内にマスターデータ用変数が見つからず、結果、DBから読み込むようです。
■修正前
function getMasterData($name, $columns = array()) { $columns = $this->getDefaultColumnName($columns); // 可変変数を定義 $valiable = "_" . $name . "_master"; // キャッシュを読み込み @include_once(MASTER_DATA_DIR . $name . ".php");
■修正後(include_once ⇒ include へ)
function getMasterData($name, $columns = array()) { $columns = $this->getDefaultColumnName($columns); // 可変変数を定義 $valiable = "_" . $name . "_master"; // キャッシュを読み込み @include(MASTER_DATA_DIR . $name . ".php");
Change History
Note: See
TracTickets for help on using
tickets.