Ticket #596 (closed バグ指摘: 修正済)

Opened 12 years ago

Last modified 12 years ago

同じマスターデータを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

comment:1 Changed 12 years ago by uchida

  • Component changed from フロント to その他

comment:2 Changed 12 years ago by nanasess

  • Milestone set to EC-CUBE2.4.3

comment:3 Changed 12 years ago by nanasess

  • Owner changed from somebody to nanasess
  • Status changed from new to assigned

comment:4 Changed 12 years ago by nanasess

version-2_4-dev r18502 で修正

comment:5 Changed 12 years ago by nanasess

comu-ver2 r18507 で修正

comment:6 Changed 12 years ago by nanasess

  • Status changed from assigned to closed
  • Resolution set to 修正済

version-2_4 へ r18534 でマージ

Note: See TracTickets for help on using tickets.