これをよりスケーラブルな方法で構築したい場合は、カートをオブジェクトにすることを検討してください。
次に、アイテムをさまざまなプロパティを持つオブジェクトに変換します。これにより、さまざまな「製品属性」(今のところサイズですが、後で使用するためのさまざまな色、または印刷可能なテキストなど)が処理されます。
他の部分(直交プログラミング)から独立して、各部分が想定どおりに機能するように抽象化すると、現在および将来の生活が楽になります。
PHPを使用しているので、ストレージにもMySQLを使用していると思います。通常、オブジェクトをに格納するのは非効率的ですが、オブジェクトを$_SESSION
データベースに格納し、そのセッションが再び使用されているとき(つまり、次のページのロード)にオブジェクトをアンパック/アンシリアル化/ウェイクアップする方が効率的です。
それらは将来のためのものです。しかし、今のところ、これを作成するためにどの程度スケーラブルであるか、そして本番環境で真剣に使用するかどうかをよく見ていきます。Amazon.comで入手できる「UsableShoppingCarts」という本があります(以前は安価でした!http://www.amazon.com/Usable-Shopping-Carts-Jon-Stephens/dp/1904151140)。
この種のものにはさまざまなリソースがありますが、常に戻ってくるのは、元々の設計方法です。それはあなたがあなたが望むことを達成するためにハックをするか、あなたが望むことを適切に実行するかのどちらかをあなた自身が見つける場所だからです。