如何在php中访问私有变量?

如何在php中访问私有变量?,php,drupal,private,fatal-error,Php,Drupal,Private,Fatal Error,我尝试了网络上所有可用的技巧,但不知道为什么,我无法访问变量。。下面是包含私有变量的类的片段: class PANASONIC_PRICESHEET { public $models = array(); public $options = array(); public $accessories = array(); private $identifier = ''; private $name = ''; privat

我尝试了网络上所有可用的技巧,但不知道为什么,我无法访问变量。。下面是包含私有变量的类的片段:

class PANASONIC_PRICESHEET {

    public $models = array();
    public $options = array();       
    public $accessories = array();    

    private $identifier = '';
    private $name = '';
    private $currency1 = '€';
    private $currency2 = '£';

    /**
     * 
     */        
    public function __construct($name1 = 'unnamed', $identifier1 = '') {
        $this->name = $name1;
        $this->identifier = $identifier1;
    }

    public function getIdentifier() {
        return $this->identifier;       
    }

    /**
     * 
     */        
    public function getName($withIdentifier = false) {       
        if ($withIdentifier) {
            return $this->name . " - " . $this->identifier;
        } else {
            return $this->name;
        }
    }
}
下面是我访问它的方式:

$thisName = $pricesheet->getName();
$thisIdentifier = $pricesheet->getIdentifier();
我得到了这个错误:

Fatal error: Cannot access private property PANASONIC_PRICESHEET::$name in
C:\AppServ\www\dashboard\sites\all\modules\_custom\pricing_system\pricing_system.inc
on line 316
如何解决这个问题?我不能公开这个领域,这根本不是一个选项。有什么建议吗

编辑-1 问题已经解决: 我应该调用$_pricesheet->getName();
非常感谢您的建议。

这是我目前的工作。看一看。您可能正在尝试访问
$pricesheet->name

您可以尝试在公共函数中调用私有函数,该函数返回私有变量。 类似于Javascript中的闭包


希望它能起作用

你确定这就是产生错误的所有代码吗?@Shef说的-这真的是导致错误的代码吗?第316行,这是你为访问它而设置的两个代码之一吗?还是课堂上的一句台词?因为上面肯定没有316行。是的,这是我访问对象的代码。