oops私有变量值不会返回错误

时间:2012-04-20 08:37:46

标签: php

为什么以下代码不返回值?我只是一个空白的屏幕。

当我在子类中尝试私有变量val时,至少应该返回一些错误。

class Customer {

    private $instance_count = 0; //private data member
    function sub1(){
         return $this->instance_count++;
    }

}
class CustomerChild extends Customer{
    function sub2(){
         return $this->instance_count++;
    }

}
$CustomerObj = new CustomerChild();
print $CustomerObj->sub2();

3 个答案:

答案 0 :(得分:2)

 private $instance_count = 0; 

更改为

 protected $instance_count = 0; 

子类无法访问私有变量。你想要保护变量。

另外,您的评论:

//static data member

该变量不是静态的,不确定为什么评论存在。

答案 1 :(得分:1)

原因是,您正在尝试打印NULL:

var_dump($CustomerObj->sub2());
NULL

print NULL;
//nothing....

有关详细信息,请查看@James的回答。

答案 2 :(得分:0)

尝试打开php.ini中的登录并创建您指定的文件(对于Windows):

log_errors = On
error_log = C:\TEMP\PHP.LOG

不要忘记创建文件夹,文件并启用对该文件的写入权限。