-
/** - * php ショッピング カート クラス
- * シングルトン モード
- * bbs.it-home.org を編集
- */
- class Cart{
- static protected $ins; //インスタンス変数
- protected $item = array();コンテナ
//外部呼び出しは禁止されています
- final protected function __construct(){
- }
//クローン作成は禁止されています
- final protected function __clone(){
- }
//クラス
- の静的保護関数の内部インスタンス化 Getins(){
- if(!(self::$insinstanceof self)){
- self::$ins = new self () ;
- }
return self::$ins;
- }
// 商品をページ全体に保存するには、オブジェクトをsession
- public function Getcat(){
- if(!($_SESSION['cat']) || !($_SESSION['cat'] instanceof self)){
- $_SESSION['cat'] = self::Getins ();
- }
return $_SESSION['cat'];
- }
public function Initem($goods_id){
- if($this->Gettype() == 0){
- return false;
- }
- if(!(array_key_exists($goods_id,$this->item))){
- return false;
- }else{
- return $this->item[$goods_id]['num'] // この商品の番号を返します
- }
- }
Goods を 1 つ追加します
- public function Additem($goods_id,$name,$num,$price){
- if($this->Initem($goods_id) != false){
- $this->item[$goods_id] [' num'] += $num;
- return;
- }
$this->item[$goods_id] = array(); //商品は配列です
- $this -> ;item[$goods_id]['num'] = $num; この商品の購入数量
- $this->item[$goods_id]['name'] = $name; this ->item[$goods_id]['price'] = $price; //商品の単価
- }
//商品を 1 つ減らす
- public function Reduceitem($goods_id, $num){
- if($this->Initem($goods_id) == false){
- return;
- }
- if($num > $this->Getunm($goods_id)){
- unset($ this-> item[$goods_id]);
- }else{
- $this->item[$goods_id]['num'] -=$num;
- }
- }
//グッズを 1 つ削除します
- public function Delitem($goods_id){
- if($this->Initem($goods_id)){
- unset($this->item[$goods_id]);
- }
- }< /p>
-
//購入したアイテムのリストに戻る
- public function itemlist(){
- return $this->item;
- }
//何種類合計アイテム数はありますか?
- public function Gettype( ){
- return count($this->item);
- }
// 商品の合計数を取得します
- Getunm($goods_id){
- return $this- >item[$goods_id]['num'];
- }
// ショッピングカート内の商品数を確認します
- public function Getnumber(){
- $num = 0;
- if ($this->Gettype() == 0){
- return 0;
- }
foreach($this->item) as $k=>$v){
- $ num += $v['num'];
- }
- return $num;
- }
//合計価格を計算します
- public function Getprice(){
- $price = 0;
- if ($this->Gettype() == 0){
- return 0;
- }
foreach($this-> item as $k=>$v){
- $ 価格 += $v['num']*$v['num'];
- }
- return $price;
- }
public function Emptyitem(){ - $this->item = array();
- }
- }
- ?
-
-
-
- コードをコピー
:
include_once('Cart.php'); $cart = Cart::Getcat();$cart->Additem('1','php学習チュートリアル(プログラマーホーム) Edition)','5','9999');print_r($cart);
?>
コードをコピー
|