objects_021.phpt 502 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. --TEST--
  2. Testing magic methods __set, __get and __call in cascade
  3. --FILE--
  4. <?php
  5. class test {
  6. static public $i = 0;
  7. public function __construct() {
  8. self::$i++;
  9. }
  10. public function __set($a, $b) {
  11. return x();
  12. }
  13. public function __get($a) {
  14. return x();
  15. }
  16. public function __call($a, $b) {
  17. return x();
  18. }
  19. }
  20. function x() {
  21. return new test;
  22. }
  23. x()
  24. ->a
  25. ->b()
  26. ->c = 1;
  27. var_dump(test::$i);
  28. ?>
  29. --EXPECT--
  30. int(4)