php类变量

yor*_*gos 3 php variables session class

我有一个名为MyCart的类.

Class MyCartClass
{
var $MyCart;  

function getCart(){
  return $this->MyCart;
}

function addItem($item){

    if ($this->MyCart){
        $this->MyCart .= ','.$item;
    } 
    else{
        $this->MyCart = $item;
    }

}

};

$globalCart = new MyCartClass; // create an instance of the class
Run Code Online (Sandbox Code Playgroud)

变量"$MyCart"是一个字符串,包含购物车中的所有商品,用逗号分隔.

现在,我将此类保存到一个名为的文件中,"cart.php"并将其包含在另一个文件中.

但是,每次调用该函数时"addItem",if语句都会转到else分支,这意味着该"$MyCart"变量不包含购物车的当前状态.

我是否需要将购物车的状态存储到"会话"变量中?因此可以从所有文件中访问它.

我将不胜感激任何帮助!

谢谢.

Dan*_*inn 5

不要使用字符串来存储列表.这只是一个坏主意.

而是存储$items为数组,并在构造函数中定义它

class Cart {

    function __construct() {
        $this->items = array();
    }

    function add($item) {
        $this->items[] = $item;
    }

    function save() {
        $SESSION["cart"] = $this->items;
    }

    function get_items_string() {
        return join(",", $this->items);
    }

}
Run Code Online (Sandbox Code Playgroud)

我的PHP有点生疏,但这应该让你开始.

  • 是的,肯定会使用一个会话,是的,我知道问题不是关于如何存储它,但我认为OP有错误的印象,会话只能存储字符串,这是不正确的. (2认同)