php类变量

标签 php class session variables

我有一个名为 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

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

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

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

我需要将购物车的状态存储到“ session ”变量中吗? 因为这样可以肯定地从所有文件访问它..

如有任何帮助,我将不胜感激!

谢谢。

最佳答案

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

相反,将$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);
    }

}

我的 PHP 有点生疏,但这应该可以帮助您入门。

关于php类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6265489/

相关文章:

c# - 抽象类与调用基础

PHP session_destroy() 函数

php - 来自带有 LIKE 子句的类别的 MySQL 请求

php - 正确的 PHP switch 语句用法

php - 快速找到我想要的页面之前和之后的页面

Java新手: Difference between <> and ()?

php - 多个文件上传不将每个路径保存在数据库中

python - 每个子类都包含自己的列表吗?

java - session 过期时如何在数据库中插入值

node.js - 如何将模型方法添加到用户 session 中?