__set__get_004.phpt 572 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. --TEST--
  2. ZE2 __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
  7. class Test {
  8. protected $x;
  9. function __get($name) {
  10. if (isset($this->x[$name])) {
  11. return $this->x[$name];
  12. }
  13. else
  14. {
  15. return NULL;
  16. }
  17. }
  18. function __set($name, $val) {
  19. $this->x[$name] = $val;
  20. }
  21. }
  22. $foo = new Test();
  23. $bar = new Test();
  24. $bar->baz = "Check";
  25. $foo->bar = $bar;
  26. var_dump($bar->baz);
  27. var_dump($foo->bar->baz);
  28. ?>
  29. ===DONE===
  30. --EXPECTF--
  31. string(5) "Check"
  32. string(5) "Check"
  33. ===DONE===