ホームページ  >  記事  >  バックエンド開発  >  PHP で実装された比較的完全なショッピング カート クラス、php ショッピング カート class_PHP チュートリアル

PHP で実装された比較的完全なショッピング カート クラス、php ショッピング カート class_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:12:33951ブラウズ

PHPで実装された比較的完成度の高いショッピングカートクラス、phpショッピングカートクラス

この記事の例では、PHP で実装された比較的完全なショッピング カート クラスについて説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです

つい最近、ショッピング カートの使用を必要とするプロジェクトを完了しました。頻繁に使用される可能性があることを考慮して、興味のある読者はこのクラスを少し変更して独自のクラスで使用できるように、それをクラスにカプセル化しました。プログラム内で。

コードをコピーします コードは次のとおりです:
/************************************************* ***************************/
/* /* ファイル タイプ: ファイルが含まれており、推奨されるサフィックスは inc /* /* ファイル名:cart.inc /* /* 説明: 車の購入カテゴリを定義します /* /* 関数リスト : クラスカート /* /* 作者: bigeagle /*/* /************************************************* ***************************/

//このファイルの定数を定義します
定義("_CART_INC_" , "存在します") ;
/*ショッピング カート クラス*/
クラスTカート
{

var $SortCount; //商品カテゴリの数
var $TotalCost //商品の合計金額

var $Id; // 各タイプの製品の ID (配列)
var $Name; //各タイプの製品の名前 (配列)
var $Price; //各タイプの製品の価格 (配列)
var $Discount; //商品の割引 (配列)
var $GoodPrice ; //商品の優待価格 (配列)
var $Count; //各タイプの積の個数 (配列)
var $MaxCount ; //製品の制限 (配列)

//******构造関数数
  関数 TCart()
  {
   $this->SortCount=0;
 
   セッション開始(); //初期化一セッション
   session_register('sId');
   session_register('sName');
   session_register('価格');
   session_register('s割引');
   session_register('sGoodPrice') ;
   session_register('sCount') ;
   session_register('sMaxCount') ;
 
   $this->Update();
   $this->Calculate();
  }
 
  //********私有、セッションに応じて更新中の相対データ
  関数 Update()
  {
    グローバル $sId、$sName、$sPrice、$sCount、$sDiscount、$sMaxCount、$sGoodPrice;
 
   if(!isset($sId) または !isset($sName) または !isset($sPrice)
      または !isset($sDiscount) または !isset($sMaxCount)
      または !isset($sGoodPrice) または !isset($sCount)) 戻り値;
 
   $this->Id =$sId;
   $this->名前 =$s名前;
   $this->価格 =$s価格;
   $this->Count =$sCount;
   $this->割引 = $s割引 ;
   $this->GoodPrice = $sGoodPrice ;
   $this->MaxCount = $sMaxCount ;
 
   //计算商品总数
   $this->SortCount=count($sId);
 
  }
 
  //********私有、新しいデータに基づいてこの種の商品の取引およびすべての商品の总价
  関数 Calculate()
  {
   for($i=0;$iSortCount;$i++)
   {
     /* 計算アイテム商品の価値、如果折扣が 0 、则は优惠价格*/
$ギフト価格 = ($this->割引[$i] == 0 ? $this->グッドプライス :
ceil($this->価格[$i] * $this->割引[$i])/100 ); $this->合計コスト += $ギフト価格 * $this->数[$i] ; }
}

//**************以下はインターフェース関数です

//*** アイテムを追加します
// 青色の項目が既に存在するかどうかを判断し、存在する場合はカウントを追加し、そうでない場合は新しい製品を追加します
//まず、セッションの値を変更し、次に update() と Calculate() を呼び出してメンバー変数を更新します
関数 Add($a_ID , $a_Name , $a_Price , $a_Discount ,
$a_GoodPrice、$a_MaxCount、$a_Count)
{
グローバル $sId 、 $sName 、 $sCount 、 $sPrice 、 $sDiscount 、
$sGoodPrice、$sMaxCount;
$k=カウント($sId); for ($i=0; $i { //まずこの商品が追加されているかどうかを確認してください
If($sId[$i]==$a_ID)
{
$sCount[$i] += $a_Count ; 休憩
}
}
if($i >= $k)
{ //そうでない場合は、新しい製品カテゴリを追加します
$sId[] = $a_ID; $sName[] = $a_Name; $sPrice[] = $a_Price
$sCount[] = $a_Count
$sGoodPrice[] = $a_GoodPrice
$s割引[] = $a_割引
; $sMaxCount[] = $a_MaxCount
}

$this->Update() //クラスのメンバーデータを更新します
$this->計算
; }

//アイテムを削除します
関数削除($a_ID)
{
グローバル $sId 、 $sName 、 $sCount 、 $sPrice 、 $sDiscount 、
$sGoodPrice、$sMaxCount;
$k = カウント($sId); for($i=0; $i {
If($sId[$i] == $a_ID)
{
$sCount[$i] = 0; 休憩
}
}

$this->Update(); $this->計算
; }

//項目数を変更します
関数 ModifyCount($a_i,$a_Count)
{
グローバル $sCount

$sCount[$a_i] = $a_Count ; $this->Update(); $this->計算
; }

/***************************
すべての商品をクリアします
*****************************/
関数 RemoveAll()
{
session_unregister('sId'); Session_unregister('sName'); session_unregister('sPrice'); session_unregister('s割引'); session_unregister('sGoodPrice') ; session_unregister('sCount') ; session_unregister('sMaxCount') ; $this->ソートカウント = 0 ; $this->合計コスト = 0 ; }

//特定の製品がすでに青色であるかどうか、パラメーターはこの製品の ID です
関数が存在します($a_ID)
{
for($i=0; $iSortCount; $i++)
{
If($this->Id[$i]==$a_ID) は TRUE を返します
; }
FALSE を返します。 }

// 青色の商品の位置
関数 IndexOf($a_ID)
{
for($i=0; $iSortCount; $i++)
{
If($this->Id[$i]==$id) $i を返します。 }
0 を返す
}

//製品、主な動作機能に関する情報を取得します
//連想配列を返します
関数アイテム($i)
{
$Result[id] = $this->ID[$i]; $Result[名前] = $this->名前[$i]; $Result[価格] = $this->価格[$i]
$Result[カウント] = $this->カウント[$i]; $Result[割引] = $this->割引[$i] ; $Result[良い価格] = $this->良い価格[$i] ; $Result[maxcount] = $this->MaxCount[i] ; $Result を返します。 }

//商品カテゴリの総数を取得します
関数 CartCount()
{
$this->SortCount を返します
}

//商品の合計金額を取得します
関数 GetTotalCost()
{
$this->TotalCost を返します
}
}
?>

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/920616.html技術記事 PHP で実装された比較的完全なショッピング カート クラス PHP ショッピング カート クラス この記事では、PHP で実装された比較的完全なショッピング カート クラスについて説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。