Ticket #1579 (closed 改善提案: 修正済)

Opened 9 years ago

Last modified 8 years ago

SC_Query::getSingletonInstance()への置き換え

Reported by: shutta Owned by: shutta
Priority: Milestone: EC-CUBE2.12.0
Component: その他 Version: 2.11.4
Keywords: Cc:
修正済み: yes

Description

既存コード中の

$objQuery = new SC_Query_Ex();

のような部分を、

$objQuery =& SC_Query_Ex::getSingletonInstance();

へ置き換えて、SC_Queryインスタンスを無駄に生成しないように改善。

ただ、 #1467 のような障害の発現も考えられるので、テストを十分にしないといけない。

Change History

comment:1 Changed 9 years ago by shutta

チケット登録時で、下記のファイル中に該当する記述がある模様。

data/class/SC_Customer.php data/class/helper/SC_Helper_Session.php data/class/helper/SC_Helper_Mobile.php data/class/helper/SC_Helper_DB.php data/class/helper/SC_Helper_Plugin.php data/class/helper/SC_Helper_Mail.php data/class/module/SC_Module.php data/class/util/SC_Utils.php data/class/db/SC_DB_MasterData.php data/class/session/sessionfactory/SC_SessionFactory_UseRequest.php data/class/SC_Plugin.php data/class/SC_Product.php data/class/SC_Fpdf.php data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore_Settings.php data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore_Log.php data/class/pages/admin/products/LC_Page_Admin_Products_ClassCategory.php data/class/pages/admin/products/LC_Page_Admin_Products_Product.php data/class/pages/admin/products/LC_Page_Admin_Products_Category.php data/class/pages/admin/plugin/LC_Page_Admin_Plugin_Uninstall.php data/class/pages/admin/order/LC_Page_Admin_Order_Status.php data/class/pages/admin/contents/LC_Page_Admin_Contents_CsvSql.php data/class/pages/mypage/LC_Page_Mypage_DownLoad.php data/class/pages/pages/mypage/LC_Page_Mypage_Favorite.php data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Category.php data/class/pages/shopping/LC_Page_Shopping_Confirm.php data/class/pages/upgrade/LC_Page_Upgrade_Download.php data/class/pages/upgrade/LC_Page_Upgrade_Base.php html/admin/load_module_config.php html/install/batch/move_mailmaga_data.php html/install/index.php html/user_data/plugins/recommend/classes/LC_Page_FrontParts_Bloc_Recommend.php test/createEcCubeCustomerData-v25.php test/createEcCubeData-v25.php test/class/db/SC_DB_MasterData_Test.php test/class/db/SC_DB_DBFactory_Test.php test/class/SC_Query_Test.php

comment:2 Changed 9 years ago by shutta

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

手始めに、下記対応。(r21368)

data/class/pages/mypage/LC_Page_Mypage_Favorite.php
data/class/pages/shopping/LC_Page_Shopping_Confirm.php

残り

data/class/SC_Customer.php
data/class/helper/SC_Helper_Session.php
data/class/helper/SC_Helper_Mobile.php
data/class/helper/SC_Helper_DB.php
data/class/helper/SC_Helper_Plugin.php
data/class/helper/SC_Helper_Mail.php
data/class/module/SC_Module.php
data/class/util/SC_Utils.php
data/class/db/SC_DB_MasterData.php
data/class/session/sessionfactory/SC_SessionFactory_UseRequest.php
data/class/SC_Plugin.php
data/class/SC_Product.php
data/class/SC_Fpdf.php
data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore_Settings.php
data/class/pages/admin/ownersstore/LC_Page_Admin_OwnersStore_Log.php
data/class/pages/admin/products/LC_Page_Admin_Products_ClassCategory.php
data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
data/class/pages/admin/products/LC_Page_Admin_Products_Category.php
data/class/pages/admin/plugin/LC_Page_Admin_Plugin_Uninstall.php
data/class/pages/admin/order/LC_Page_Admin_Order_Status.php
data/class/pages/admin/contents/LC_Page_Admin_Contents_CsvSql.php
data/class/pages/mypage/LC_Page_Mypage_DownLoad.php
data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_Category.php
data/class/pages/upgrade/LC_Page_Upgrade_Download.php
data/class/pages/upgrade/LC_Page_Upgrade_Base.php
html/admin/load_module_config.php
html/install/batch/move_mailmaga_data.php
html/install/index.php
html/user_data/plugins/recommend/classes/LC_Page_FrontParts_Bloc_Recommend.php
test/createEcCubeCustomerData-v25.php test/createEcCubeData-v25.php
test/class/db/SC_DB_MasterData_Test.php
test/class/db/SC_DB_DBFactory_Test.php
test/class/SC_Query_Test.php

comment:3 Changed 9 years ago by kotani

  • Milestone changed from EC-CUBE2.11.5 to EC-CUBE2.12.0alpha

2_11-devブランチのコミットキャンセルが必要

comment:4 Changed 9 years ago by shutta

2_11-devブランチのコミットキャンセルは、 Seasoftさんにより、 r21403 にてコミット。

comment:5 Changed 9 years ago by shutta

r21750 にて、残ファイルへの対応。

残り、

grep -rl "new SC_Query" * | grep -v .svn

data/class/SC_Query.php
data/class/pages/admin/contents/LC_Page_Admin_Contents_CsvSql.php
html/install/index.php
test/createEcCubeCustomerData-v25.php
test/createEcCubeData-v25.php
test/class/db/SC_DB_MasterData_Test.php
test/class/db/SC_DB_DBFactory_Test.php
test/class/SC_Query_Test.php

data/class/SC_Query.phpは、最初のインスタンス生成部分なので、置き換えちゃダメ。

data/class/pages/admin/contents/LC_Page_Admin_Contents_CsvSql.php

は、

// FIXME: 意図的に new SC_Query しています。 force_runをtrueにする必要が
あるので.本当はqueryの引数で制御したい。ref SC_Query

とコメントがあるので、置き換えず。

html、 testの方は、置き換えなくてもよいかなぁ。

comment:6 Changed 8 years ago by kajiwara

現状では、こちらの変更によるものと思われる不具合は出ていない模様。

ただ、修正箇所が大きいため、ギリギリまでチェックします。

testは必要なし。htmlも今回の目的からすると必要ないですが、統一はしたいですね。(追って対応でも問題ないとは思います。)

comment:7 Changed 8 years ago by h_yoshimoto

  • Status changed from assigned to closed
  • 修正済み set
  • Resolution set to 修正済
Note: See TracTickets for help on using tickets.