Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止在PHP中显示私有类变量_Php - Fatal编程技术网

停止在PHP中显示私有类变量

停止在PHP中显示私有类变量,php,Php,我可能误解了PHP的可见性 以下代码: <?php class Test { private $_secret; public function __construct() { $this->_secret = 'Why are you seeing this?'; } } $me = new Test(); print_r($me); 我可以阻止这种情况发生吗或者这是注定要发生的吗? print\u r()、var\u du

我可能误解了PHP的可见性

以下代码:

<?php

class Test {
    private $_secret;
    
    public function __construct() {
        $this->_secret = 'Why are you seeing this?';
    }
}

$me = new Test();
print_r($me);

我可以阻止这种情况发生吗或者这是注定要发生的吗?

print\u r()var\u dump()var\u export()也将显示对象的受保护和私有属性。静态类成员将不会显示


打印\r显示用于调试的私有属性。如果要显示有关对象的信息,可以创建一个方法,例如-toString,以返回适当的信息。

这是一个要调试的转储,如
var\u dump()
。当然,这是有意的。在使用
\uuuu-toString()
实现时,您不会得到它们。谢谢,我不知道这一点。
Test Object
(
    [_secret:Test:private] => Why are you seeing this?
)