OOP php变量范围

时间:2015-11-19 14:08:55

标签: php oop

我是OOP php的新手,我正在创建添加到购物车类,但count变量在add函数内部无法正常工作,并且它给出了错误: "注意:未定义的变量:count"

这是我的代码:

<?php 
    Class cart{
        public $count=0;

        public function add(){
            @session_start();
            $_SESSION['count'] = $count++;
            echo $_SESSION['count'];
        }

        public function check(){
            if(isset($_POST['sub'])){
                $this->add();
            }
        }
    }

    $obj = new cart;
    $obj->check();
?>

2 个答案:

答案 0 :(得分:2)

可以使用this关键字

访问类属性
 $_SESSION['count'] = $this->count++;

Read more about php variable scope

答案 1 :(得分:0)

你必须使用

$_SESSION['count'] = $this->count++;

而不是

$_SESSION['count'] = $count++;

备注:

1) 如果您的课程外无法访问$count,则应将声明更改为private $count=0;

2) 你真的需要财产$check吗?在目前的情况下,您可以删除$check属性,并使用$_SESSION['count'] = isset($_SESSION['count']) ? $_SESSION['count']++ : 0方法中的add