我如何访问对象中的私有 属性
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
?>
我正在使用 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
?>