Вывести свойство с помощью PHP5 и цепочки методов

Я играю с PHP5 и цепочкой методов, следуя нескольким примерам StackOverflow. Я хотел бы настроить общий метод show (), способный печатать только требуемое свойство, см. Пример:

property_a = 'this is a'.PHP_EOL;
    return $this;
  }

  public function set_b(){
    $this->property_b = 'this is b'.PHP_EOL;
    return $this;
  }

  public function show(){
   echo var_dump($this->property_a); // ->... generalize this                                                                                                                     
   return $this;
  }

}

$ta=new testarea();

$ta->set_a()->set_b();
$ta->show();

?>

Это отголоски.string(10) "this is a "

Я хотел бы сделать общий метод show (), который показывает только свойство, котороеset_a() илиset_b() методы установили.

Является ли это возможным?

Ответы на вопрос(1)

Решение Вопроса

Создайте свойство частного массива:

private $last = NULL;
private $setList = array();

В вашемset_a() а такжеset_b() использовать:

$this->last = 'line A';
$this->setList['a'] = $this->last;

а также

$this->last = 'line B';
$this->setList['b'] = $this->last;

Вашshow() Затем метод читает:

foreach ($this->setList as $line) {
  var_dump($line);
}

или если вам нужен только последний набор свойств:

return $this->last;
 Michel Feldheim26 мая 2013 г., 00:57
Какие'смысл всего этого? Просто спрашиваю..
 leonard vertighel26 мая 2013 г., 18:41
Я новичок в ООП и цепочках методов, так что это может быть плохой практикой. Но моя идея состоит в том, что следующий метод может наследовать что-то из последнего установленного свойства или не наследовать, если указан параметр.

Ваш ответ на вопрос