【问题标题】:OOP php variable scopeOOP php 变量范围
【发布时间】:2015-11-19 14:08:54
【问题描述】:

我是 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();
?>

【问题讨论】:

    标签: php oop


    【解决方案1】:

    类属性可以通过this关键字访问

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

    Read more about php variable scope

    【讨论】:

      【解决方案2】:

      你必须使用

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

      而不是

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

      注意事项:

      1) 如果$count 不应在您的班级之外访问,您应该将声明更改为private $count=0;

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-05
        • 2010-12-19
        • 2012-09-03
        • 2016-08-30
        • 2011-04-10
        • 2011-08-11
        • 1970-01-01
        相关资源
        最近更新 更多