PHP: Как можно защитить доступ к переменной из дочернего класса, если он имеет другое значение? - PullRequest
0 голосов
/ 31 января 2011

Как получить доступ к защищенной переменной из дочернего класса, если она имеет другое значение?

Пример неправильного доступа : parent :: $ _ my дает ошибку

class Father{
  protected $_my=array('a','b');
}

class Child{
   protected $_my=array('c','d');
  function __construct(){
   parent::__construct();
   $this->_my=array_merge(parent::$_my,$this->_my);
  }
}

Спасибо, Йосеф

Ответы [ 2 ]

3 голосов
/ 31 января 2011

$this->_my будет наследоваться от родителя при создании экземпляра подкласса, поэтому вам просто нужно использовать:

$this->_my = array_merge($this->_my, array('c','d'));
1 голос
/ 31 января 2011

Что-то не так с вашим дизайном.Вы уже объявили переменную, к которой может обращаться дочерний элемент внутри parent.

Попробуйте добавить значения к уже существующей переменной, а не переопределять ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...