我如何访问对象中的私有 属性

How can i access a private property in Object

我正在使用 couchbase PHP Sdk 查询一些数据,他们从版本 2.x 到 3.x 进行了一些更改。在我可以轻松获得一些指标之前,现在我得到了错误>它抱怨我无法访问私有值。

未捕获错误:无法访问私有 属性 Couchbase\QueryResultImpl::$meta

Couchbase\QueryResultImpl Object
(
    [status:Couchbase\QueryResultImpl:private] => 0
    [meta:Couchbase\QueryResultImpl:private] => Couchbase\QueryMetaDataImpl Object
        (
            [status:Couchbase\QueryMetaDataImpl:private] => success
            [request_id:Couchbase\QueryMetaDataImpl:private] => b1c2bfc4-31b1-4c17-9706-2d0b1e574505
            [client_context_id:Couchbase\QueryMetaDataImpl:private] => d41ef78df23fffe4
            [signature:Couchbase\QueryMetaDataImpl:private] => Array
                (
                    [ModificationTimestamp] => json
                )

            [errors:Couchbase\QueryMetaDataImpl:private] => 
            [warnings:Couchbase\QueryMetaDataImpl:private] => 
            [metrics:Couchbase\QueryMetaDataImpl:private] => Array
                (
                    [elapsedTime] => 13.425556ms
                    [executionTime] => 13.228202ms
                    [resultCount] => 1
                    [resultSize] => 47
                    [serviceLoad] => 0
                )

        )

    [rows:Couchbase\QueryResultImpl:private] => Array
        (
            [0] => Array
                (
                    [ModificationTimestamp] => 2022-03-14 13:06:42
                )
        )
)

首先,很抱歉我没有使用 couchbase PHP,但您可以通过以下方式创建 Getter 和 Setter 私有变量的方法,希望你能实现它

<?php

class Student {
    private $sName;

    public function setName($name) {
        $this->sName = $name;
    }

    public function getName() {
        return $this->sName;
    }
}

$student = new Student;                     // create an object
//$student->sName = "error";                // this makes an error while it is Private: Fatal error: Uncaught Error: Cannot access private property
//echo $student->sName;                     // this makes an error while it is Private: Fatal error: Uncaught Error: Cannot access private property
$student->setName("MisterniceGuy"); // Set student name
echo $student->getName();                   // MisterniceGuy

?>