当前位置:  开发笔记 > 编程语言 > 正文

print_r显示私有var.为什么?

如何解决《print_r显示私有var.为什么?》经验,为你挑选了1个好方法。

为什么即使将其范围设置为私有,也可以print_r看到私有属性$ version

class myClass {

    private $version;

    public function set_version($value){
        $this->version = $value;
    }


}



$class = new myClass();
$class->set_version("1.2");

echo "
";
print_r($class);

Sᴀᴍ Onᴇᴌᴀ.. 7

print_r()显示私有成员属性以进行调试.它不应该用于输出对象以用于显示目的(例如在视图/页面中).要显示有关对象的信息,可能适合创建将返回适当信息的方法(例如toString).

print_r(),var_dump()和var_export()也将显示对象的受保护属性和私有属性.静态类成员将不会显示.1


1 http://php.net/manual/en/function.print-r.php#refsect1-function.print-r-description)



1> Sᴀᴍ Onᴇᴌᴀ..:

print_r()显示私有成员属性以进行调试.它不应该用于输出对象以用于显示目的(例如在视图/页面中).要显示有关对象的信息,可能适合创建将返回适当信息的方法(例如toString).

print_r(),var_dump()和var_export()也将显示对象的受保护属性和私有属性.静态类成员将不会显示.1


1 http://php.net/manual/en/function.print-r.php#refsect1-function.print-r-description)

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有