#PHP ショッピング カートはどのように実装されていますか?
PHP でのショッピング カートの簡単な実装
まず、ログインするかどうかを決定します。if(isset($_session['user_id'])){ 存在; 把用户id和商品id,加入购物车表 }else{ 不存在; 使用cookie把商品ID和主机IP放入一个数组 ,把这个数组存入cookie; 浏览器允许存放300个cookie, 每个cookie的大小为4KB,足以满足购物车的要求,同时也 减轻了服务器的负荷 }ブラウザが Cookie を無効にしている場合は、次を使用します。 memcache を使用して実装します 別の方法で、ログインするかどうかを決定します。
if(isset($memcache->get('user_id'))){ 存在; 把用户id和商品id,加入购物车表 }else{ 不存在; $memcache = new Memcache(); //实例化memchche $data=['goods_id'=>$goods_id,'ip'=>$_SERVER ['REMOTE_ADDR']]; $memcache->set('key键',serialize($data)); }Redis の実装と memcache には大きな違いはありません。
memcache コードは次のとおりです
$cart=new Cart(); $goods_id = isset($_GET['goods_id']) ? $_GET['goods_id'] : '1'; $session = \yii::$app->session; // $session->set('user_id','1'); $user_id = $session->get("user_id"); $mem = Yii::$app->cache; if(isset($user_id)){ $data['user_id'] = $user_id; $data['goods_id'] = $goods_id; $is_add=$cart->setAttributes($data)->insert(); }else{ $data['user_id'] = $_SERVER['REMOTE_ADDR']; $data['goods_id'] = $goods_id; $mem->set('data',serialize($data)); } unserialize($mem->get('data')); //memcache数据上記の両方のメソッドを実装できます。最初のメソッドを使用する場合は、Cookie の有効期限を設定する必要があります。その場合は、値を取得するときにデシリアライズ (unserialize()) する必要があります。そうすれば、必要なデータを取得できます。 PHP 関連の知識の詳細については、
PHP 中国語 Web サイト をご覧ください。
以上がPHPショッピングカートの実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。