>  기사  >  백엔드 개발  >  PHP 장바구니 클래스 구현 코드의 예

PHP 장바구니 클래스 구현 코드의 예

WBOY
WBOY원래의
2016-07-25 08:59:37994검색
  1. // 장바구니 클래스

  2. /*
  3. 사용 지침:
  4. 생성자 카트 매개변수를 사용할 수 있습니다:
  5. cart($cartname = 'myCart', $session_id = '', $savetype = 'session', $cookietime = 86400, $cookiepath = '/', $cookiedomain = '')
  6. $cartname은 장바구니의 식별자로, 중복된 이름이 없고 관련 충돌이 없는지 확인하기 위해 지정할 수 있습니다.
  7. $session_id는 session_id를 사용하여 전송하는 것일 수도 있습니다. 사용자 정의됩니다.
  8. $savetype 저장 유형(세션 및 쿠키 방법 포함)
  9. ... 다른 매개변수는 쿠키

  10. 프로그램 자체에서 세션을 사용하는 경우에는 이 PHP를 구입하는 것이 좋습니다. 자동차 클래스는 쿠키 모드로 구현됩니다.

  11. //제품 추가

  12. // 클래스 참조
  13. require_once './cart.class.php';
  14. // 클래스 인스턴스 생성
  15. $ cart = new cart();

  16. // 제품에 이미 데이터가 수정되었습니다

  17. if ($cart->data[$id]) {
  18. $cart- > ;data[$id]['count'] = $count;
  19. $cart->data[$id]['money'] = $cart->data[$id]['price'] * $count;
  20. //제품 추가
  21. } else {
  22. $cart->data[$id]['name'] = $name;
  23. $cart->data[$ id ]['price'] = $price;
  24. $cart->data[$id]['count'] = $count;
  25. $cart->data[$id]['money' ] = $price * $count;
  26. }
  27. // 장바구니 데이터 저장
  28. $cart->save();

  29. 제품 수량 수정

  30. // 참조 클래스
  31. require_once './cart.class.php';
  32. // 클래스 인스턴스 생성
  33. $cart = new cart();

  34. if ($cart->data[$id]) {
  35. $cart->data[$id]['count'] = $count;
  36. $ 장바구니->데이터[$id]['money'] = $cart->데이터[$id]['price'] * $count;

  37. // 쇼핑카 데이터 저장

  38. $cart->save();
  39. }

  40. 상품 삭제

  41. // 참조 클래스
  42. require_once'./cart .class .php';
  43. // 클래스 인스턴스 생성
  44. $cart = new cart();

  45. // 제품 삭제

  46. unset($cart-> ;data [$id]);

  47. // 장바구니 데이터 저장

  48. $cart->save();

  49. 쇼핑카 목록

  50. // 참조 클래스
  51. require_once './cart.class.php';
  52. // 클래스 인스턴스 생성
  53. $cart = new cart();

  54. < ;p>foreach ($cart->data AS $k => $v) {
  55. echo '제품 ID: '.$k;
  56. echo '제품 이름: '.$v[' name' ];
  57. echo '제품 단가: '.$v['price'];
  58. echo '제품 수량: '.$v['count'];
  59. echo '총 가격 of product: '.$ v['money'];
  60. }

  61. 특정 분야의 총 누적---예: 모든 상품의 총 가격

  62. // 참조 클래스
  63. require_once './cart .class.php';
  64. //클래스 인스턴스 생성
  65. $cart = new cart();

  66. / / 머니 필드 적립

  67. $cart-> sum('money')

  68. 장바구니 지우기

  69. // 참조 클래스
  70. require_once'./cart.class .php';
  71. // 클래스 인스턴스 생성
  72. $cart = new cart();

  73. // 데이터 지우기

  74. unset($cart->data );

  75. < p>//장바구니 데이터 저장
  76. $cart->save();
  77. */

  78. / /장바구니 클래스

  79. //bbs.it-home.org
  80. 클래스 카트 {

  81. //장바구니 식별자

  82. var $cartname = '';
  83. // 저장 유형
  84. var $ savetype = '';
  85. // 장바구니의 제품 데이터
  86. var $data = array();
  87. // 쿠키 데이터
  88. var $ cookietime = 0;
  89. var $cookiepath = ' /';
  90. var $cookiedomain = '';

  91. // 생성자(장바구니 ID, $session_id, 저장 유형 (세션 또는 쿠키), 기본값은 1일, $cookiepath, $cookiedomain)

  92. 함수 장바구니($cartname = 'myCart', $session_id = '', $savetype = 'session', $cookietime = 86400, $cookiepath = '/', $cookiedomain = '') {

  93. // 세션 저장소 사용

  94. if ($savetype == 'session') {

  95. if (!$session_id && $_COOKIE[$cartname.'_session_id']) {

  96. session_id($_COOKIE[$cartname.'_session_id']);
  97. } elseif($session_id)
  98. session_id($session_id);
  99. session_start();

  100. if (!$session_id && !$_COOKIE[$cartname.' _session_id'])

  101. setcookie($cartname .'_session_id', session_id(), $cookietime time(), $cookiepath, $cookiedomain);
  102. }

  103. $ this->cartname = $cartname;

  104. $this->savetype = $savetype;
  105. $this->cookietime = $cookietime;
  106. $this->cookiepath = $cookiepath;
  107. $this->cookiedomain = $cookiedomain;
  108. $this->readdata();
  109. }

  110. // 데이터 읽기

  111. function readdata() {
  112. if ($this-> ;savetype == 'session') {
  113. if ($_SESSION[$this->cartname] && is_array($_SESSION[$this->cartname]))
  114. $this->data = $ _SESSION[$this->cartname];
  115. else
  116. $this->data = array();
  117. } elseif ($this->savetype == '쿠키') {
  118. if ($_COOKIE[$this->cartname])
  119. $this->data = unserialize($_COOKIE[$this->cartname]);
  120. else
  121. $this->data = array();
  122. }
  123. }

  124. // 장바구니 데이터 저장

  125. function save() {
  126. if ($this->savetype == 'session') {
  127. $_SESSION[$this->cartname] = $this->data;
  128. }elseif ($this->savetype == 'cookie') {
  129. if ($this->data)
  130. setcookie($this->cartname, serialize($this->data), $ this->cookietime time(), $this->cookiepath, $this->cookiedomain);
  131. }
  132. }

  133. // 返回商品某字段累加

  134. function sum($field) {

  135. $sum = 0;

  136. if ($this->data)
  137. foreach ($this-> 데이터 AS $v)
  138. if ($v[$field])
  139. $sum = $v[$field] 0;

  140. return $sum;

  141. }
  142. }
  143. ?>

复代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.