1--TEST-- 2ZE2 __set() and __get() 3--SKIPIF-- 4<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> 5--FILE-- 6<?php 7class Test { 8 protected $x; 9 10 function __get($name) { 11 if (isset($this->x[$name])) { 12 return $this->x[$name]; 13 } 14 else 15 { 16 return NULL; 17 } 18 } 19 20 function __set($name, $val) { 21 $this->x[$name] = $val; 22 } 23} 24 25$foo = new Test(); 26$bar = new Test(); 27$bar->baz = "Check"; 28 29$foo->bar = $bar; 30 31var_dump($bar->baz); 32var_dump($foo->bar->baz); 33 34?> 35===DONE=== 36--EXPECTF-- 37string(5) "Check" 38string(5) "Check" 39===DONE=== 40