バージョン選択

フォーラム

メニュー

オンライン状況

130 人のユーザが現在オンラインです。 (122 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 130
もっと...

サイト内検索

機能要望 > その他 > SC_CartSessionをどうにかした

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mmmmm
投稿日時: 2010/4/16 23:05
対応状況: −−−
新米
登録日: 2010/2/3
居住地:
投稿: 7
SC_CartSessionをどうにかした
何処に書けばいいかよくわからないのでここらへんに。

なんであんなことになってるのだろうと非常に気になっていたSC_CartSessionをどうにかしてみました。
正式版2.4.3用。

http://file.yuubiseiharukana.blog.shinobi.jp/20100416-SC_CartSession.txt
http://yuubiseiharukana.blog.shinobi.jp/Entry/282/

・$_SESSION['cart'][0]、$_SESSION['cart'][1]…となっていた商品リストを$_SESSION['cart']['products']配下に入れた
・商品の配列キーを連番ではなく商品IDにした
・cart_noも面倒なので商品IDにした
・SC_CartSession::getNextCartID()、SC_CartSession::getMax()は不要なので削除
・ereg()を排除

注意事項
・あんまりデバッグしてない
・売り切れとかロック関連は何やってるのかよくわからなかったので概ね適当
・一部ロジックが修正必須
・MySQLで作ったのでPostgreSQLだと動かなくなるかもしれない
・$_SESSION['cart']を直接どうこうしていた場合動かなくなるかもしれない
・エラーハンドラとかrunkitとかのチート機能を使っていた場合動かなくなるかもしれない
・SC_CartSession::getNextCartID()、SC_CartSession::getMax()を直接使用していた場合動かなくなるかもしれない
・商品配列のキーが数値連番である前提の実装だった場合動かなくなるかもしれない
・よくわからないけどどこかで動かなくなるかもしれない

いや、実はなにか重大な理由があってあのような作りになっているんだよ、とか言われたりする可能性もないでもないですが聞かなかったことにします。
そもそも明らかにSQLのほうがボトルネックなので正直自己満足レベル。
seasoft
投稿日時: 2010/4/19 11:39
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7369
Re: SC_CartSessionをどうにかした
貴重な情報ありがとうございます。

SC_CartSession は、ホント どうにかしたいですねぇ・・・

foreach を使った実装には賛同します。


> ・商品の配列キーを連番ではなく商品IDにした

欠番を許容する数値でも良いのかなと思いました。カスタマイズによっては、id が長くなったり複雑になったりするケースを経験してきたので。参考まで。


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は90,028名です
総投稿数は110,282件です

投稿数ランキング

1
seasoft
7369
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1677
8
red
1570
9
mcontact
1343
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.