如何访问类中的私有变量而不更改其可见性


How can I access a private variable in a class without changing its visibility

我想知道我是否可以在不必将声明更改为公共的情况下访问_staff_id变量(我可以更改它,但这不是我的代码,我认为它是私有的,但我仍然负责获取这些信息)

MyObject Object
(
    [_staff_id:private] => 43
)

使用公共get函数。例如:

class MyObject {
    private _staff_id = 43
    public function get($field) {
        return $this->$field;
    }
}
$myObject = new MyObject;
$staff_id = $myObject->get('_staff_id');

这使您可以访问变量,而无需覆盖其值。