ホームページ  >  記事  >  php教程  >  PHP シングルトン モードでモール ショッピング カート機能を実装 - PHP サンプル チュートリアル

PHP シングルトン モードでモール ショッピング カート機能を実装 - PHP サンプル チュートリアル

WBOY
WBOYオリジナル
2016-06-21 08:51:271577ブラウズ

PHP シングルトン モードはモール ショッピング カート機能を実装します - PHP サンプル チュートリアル この小さな機能を完了するには、PHP ショッピング カートの開発要件は次のとおりです。セッション 2: シングルトン モードで機能を開発: プロダクトを 1 つ追加、削除、変更、確認、追加して減らす

PHP シングルトン モードはモールのショッピング カート機能を実装します - PHP サンプル チュートリアル この小さな機能を完了するには、要件を記述し、良い習慣を身につけられる必要があります

Php ショッピング カートの開発要件は次のとおりです: php100.com

1: ショッピングカートがセッションに配置されます

2: シングルトンモデルを使用して開発する

機能:

追加、削除、変更、確認

商品を追加

商品を 1 つ減らす (変更、数量)

を削除

アイテムを削除します

ショッピングカートをクリア

チェック:

全商品リストに戻る

商品にはいくつかの種類があります

合計でいくつかの商品があります

ショッピングカート内の商品の合計はいくらですか

phpショッピングカートの原理を理解すると、コードを書くのは非常に簡単になります。 以下は、

で書かれたショッピングカートクラスです。

PHP コードは次のとおりです:

クラスカート{

static protected $ins; //インスタンス変数

protected $item = array() //プロダクトコンテナを置きます

// 外部呼び出しを無効にする

最終保護関数 __construct(){

}

//クローンは禁止されています

最終保護関数 __clone(){

}

//クラスの内部インスタンス化

静的保護関数 Getins(){

if(!(self::$insinstanceofself)){

self::$ins = 新しい self();

}

return self::$ins;

}

//複数のページにわたって商品を保存するには、オブジェクトをセッションに入れます

パブリック関数 Getcat(){

if(!($_SESSION['cat']) !($_SESSION['cat'] インスタンスオブセルフ)){

$_SESSION['cat'] = self::Getins();

}

return $_SESSION['cat'];

}

// キューに入れるときに、$item.

に存在するかどうかを確認します。

パブリック関数 Initem($goods_id){

if($this->Gettype() == 0){

false を返します;

}

if(!(array_key_exists($goods_id,$this->item))){

false を返します;

}その他{

return $this->item[$goods_id]['num'] //この商品の番号を返します

;

}

}

//商品を追加

パブリック関数 Additem($goods_id,$name,$num,$price){

if($this->Initem($goods_id) != false){

$this->item[$goods_id]['num'] += $num;

戻る;

}

$this->item[$goods_id] = array() //商品は配列

;

$this->item[$goods_id]['num'] = $num; この商品の購入数量

$this->item[$goods_id]['name'] = $name

$this->item[$goods_id]['price'] = $price

}

//商品を 1 つ削減します

パブリック関数 Reduceitem($goods_id,$num){

if($this->Initem($goods_id) == false){

戻る;

}

if($num > $this->Getunm($goods_id)){

unset($this->item[$goods_id]);

}その他{

$this->item[$goods_id]['num'] -=$num;

}

}

//アイテムを削除します

パブリック関数 Delitem($goods_id){

if($this->Initem($goods_id)){

unset($this->item[$goods_id]);

}

}

//購入商品リストに戻る

パブリック関数Itemlist(){

$this->item;

を返す

}

//商品は全部で何種類ありますか

パブリック関数 Gettype(){

return count($this->item);

}

//商品の合計数を取得します

パブリック関数 Getunm($goods_id){

return $this->item[$goods_id]['num'];

}

// ショッピングカート内の商品数を確認します

パブリック関数 Getnumber(){

$num = 0;

if($this->Gettype() == 0){

0 を返す;

}

foreach($this->item as $k=>$v){

$num += $v['num'];

}

$num を返します;

}

//合計金額を計算します

パブリック関数 Getprice(){

$価格 = 0;

if($this->Gettype() == 0){

0 を返す;

}

foreach($this->item as $k=>$v){

$price += $v['num']*$v['num'];

}

$price を返します;

}

//ショッピングカートをクリア

パブリック関数 Emptyitem(){

$this->item = array();

}

}

/*

独自のテストコードを考えてください

*/

?php

include_once('Cart.php');

$cart = Cart::Getcat();

$cart->Additem('1','Spy','5','9999');

print_r($cart);



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。