Я перепробовал все трюки, доступные в сети, но не знаю почему, я не могу получить доступ к переменной .. вот фрагмент класса, содержащий закрытую переменную:
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
Как это исправить? Я не могу сделать поле PUBLIC, это вообще не вариант. Любые предложения, пожалуйста.
РЕДАКТИРОВАТЬ - 1
Проблема решена:
Я должен был вызвать $ _pricesheet-> getName ();
Большое спасибо за предложения.