Exemplo n.º 1
0
 public function testDynamicProperty()
 {
     $obj = new Prototype();
     $value = 'World';
     $obj->a = Prototype::dynamic(function () use(&$value) {
         return "Hello, {$value}!";
     }, function ($newValue) use(&$value) {
         return $value = $newValue;
     });
     $this->assertEquals('Hello, World!', $obj->a);
     $obj->a = 'Prototype';
     $this->assertEquals('Hello, Prototype!', $obj->a);
     $value = 'hacker';
     $this->assertEquals('Hello, hacker!', $obj->a);
 }