ホームページ > バックエンド開発 > PHPチュートリアル > 比較的完全なショッピング カート class_PHP チュートリアル

比較的完全なショッピング カート class_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:28:58
オリジナル
867 人が閲覧しました

少し前に、ショッピング カートを使用する必要があるプロジェクトを完了しました。頻繁に使用される可能性があることを考慮して、後で簡単に呼び出せるように、ショッピング カートをクラスにカプセル化しました。このクラスを少し変更するだけで、独自のプログラムで使用できます。具体的な使用法については、 asp$type=1 target=_blank>http://bigeagle.wotoo.com/article.asp?type=1 を参照してください。 /*****************************************************************************/ /* */ /* file type: 包含文件,建议后缀为.inc */ /* */ /* file name: cart.inc */ /* */ /* Description: 定义一个购车类 */ /* */ /* Func list : class cart */ /* */ /* author : bigeagle */ /* */ /* date : 2000/12/24 */ /* */ /* History: 2000/12/24 finished */ /* */ /*****************************************************************************/ //定义本文件常量 define("_CART_INC_" , "exists") ; /*购物车类*/ class TCart { var $SortCount; //商品种类数 var $TotalCost; //商品总价值 var $Id; //每类商品的ID(数组) var $Name; //每类商品的名称(数组) var $Price; //每类商品的价格(数组) var $Discount; //商品的折扣(数组) var $GoodPrice ; //商品的优惠价格(数组) var $Count; //每类商品的件数(数组) var $MaxCount ; //商品限量(数组) //******构造函数 function TCart() { $this->ソートカウント=0;セッション開始(); //初期化一セッション session_register(sId); session_register(sName); session_register(価格); session_register(割引); session_register(sGoodPrice) ; session_register(sCount) ; session_register(sMaxCount) ; $this->Update(); $this->Calculate(); } //********Private、セッション関数 Update() { global $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->価格 =$sCount; $this->割引 = $sDiscount; >GoodPrice = $sGoodPrice ; $this->MaxCount = $sMaxCount ; //商品の合計数を計算します $this->SortCount=count($sId) } //********プライベート、新しいデータに基づく各商品の価値とすべての商品の合計価格 function Calculate() { for($i=0;$iSortCount;$i++) { /*割引がある場合、各商品の価値を計算します0の場合は優遇価格です*/ $ GiftPrice = ($this->割引[$i] == 0 ? $this->GoodPrice : ceil($this->価格[$i] * $this->割引[$i])/100 ); $this->TotalCost += $ GiftPrice * $this->Count[$i] ; } } //**************以下はインターフェース関数です //*** 製品を追加します // すでに青色になっているかどうかを判断し、そうであればカウントを追加し、そうでない場合は新しい製品を追加します //まずセッションの値を変更し、次に update() と Calculate() を呼び出してメンバー変数を更新します。 function Add($a_ID, $a_Name, $a_Price, $a_Discount, $a_GoodPrice, $a_MaxCount, $a_Count) { global $sId, $sName , $sCount , $sPrice , $sDiscount , $sGoodPrice , $sMaxCount ; $k=count($sId); for ($i=0; $i= $k) { //そうでない場合、新しい商品カテゴリを追加します$ sId[] = $a_ID; $sPrice[] = $sCount[] = $sDiscount; = $a_Discount[ ] = $a_MaxCount; } $this->Update() //クラスのメンバーデータを更新します $this->Calculate(); { グローバル $sId, $ sName , $sCount , $sPrice , $sDiscount , $sGoodPrice , $sMaxCount ; $k = count($sId); $i=0; $i Update(); Calculate(); } / /アイテム数を変更する function ModifyCount($a_i) { global $sCount[$a_i] = $this->Calculate() ); } /** *************************** すべての項目をクリアします************* ********** ********/ function RemoveAll() { session_unregister(sId); session_unregister(sName); session_unregister(価格); session_unregister(s 割引); session_unregister(sGoodPrice) ; session_unregister(sCount) ; session_unregister(sMaxCount) ; $this->ソートカウント = 0 ; $this->TotalCost = 0 ; } // ある商品商品がすでに存在しているかどうか、パラメータはこの商品の ID function Exists($a_ID) { for($i=0; $iSortCount; $i++) { if($this->Id[$ i]==$a_ID) TRUE を返します。 FALSEを返します。 } //蓝内の某商品商品の位置 function IndexOf($a_ID) { for($i=0; $iSortCount; $i++) { if($this->Id[$i]==$id) $i を返します。 0を返します。 } //取得一件商品の情報、主要な操作関数 //一件の情報を返します、 function Items($i) { $Result[id] = $this->Id[$i]; $Result[名前] = $this->名前[$i]; $Result[価格] = $this->価格[$i]; $Result[カウント] = $this->カウント[$i]; $Result[割引] = $this->割引[$i] ; $Result[goodprice] = $this->GoodPrice[$i] ; $Result[maxcount] = $this->MaxCount[i] ; $Result を返します。 } //取得した商品の種類 function CartCount() { return $this->SortCount; } //取得した商品の関数 GetTotalCost() { return $this->TotalCost; } }

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531721.html技術記事少し前に、ショッピング カートを使用する必要があるプロジェクトを完了しました。頻繁に使用される可能性があることを考慮して、将来の呼び出しのためにそれをクラスにカプセル化しました。このクラスを少し変更するだけです...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート