whirlwind
TDD infected, paranoid
Последовательное разыменование одним оператором...
Почему это работает? Ведь A::attr должна возвращать копию объекта?
PHP:
class C{
public $value;
function set($v){
$this->value = $v;
}
}
class A{
public $hash;
function A(){
$this->hash = array("attr1"=>new C,"attr2"=>new C);
$this->hash["attr1"]->set(1);
$this->hash["attr2"]->set(2);
}
function attr($id){
return $this->hash[$id];
}
}
$r = new A;
var_dump($r);
$r->attr("attr1")->set(50);
$r->attr("attr2")->set(100);
var_dump($r);