bug45180.phpt 856 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. --TEST--
  2. Testing callback formats within class method
  3. --FILE--
  4. <?php
  5. class foo {
  6. public function test() {
  7. call_user_func(array('FOO', 'ABC'));
  8. call_user_func(array($this, 'ABC'));
  9. foo::XYZ();
  10. self::WWW();
  11. call_user_func('FOO::ABC');
  12. }
  13. function __call($a, $b) {
  14. print "__call:\n";
  15. var_dump($a);
  16. }
  17. static public function __callStatic($a, $b) {
  18. print "__callstatic:\n";
  19. var_dump($a);
  20. }
  21. }
  22. $x = new foo;
  23. $x->test();
  24. $x::A();
  25. foo::B();
  26. $f = 'FOO';
  27. $f::C();
  28. $f::$f();
  29. foo::$f();
  30. ?>
  31. --EXPECT--
  32. __call:
  33. string(3) "ABC"
  34. __call:
  35. string(3) "ABC"
  36. __call:
  37. string(3) "XYZ"
  38. __call:
  39. string(3) "WWW"
  40. __call:
  41. string(3) "ABC"
  42. __callstatic:
  43. string(1) "A"
  44. __callstatic:
  45. string(1) "B"
  46. __callstatic:
  47. string(1) "C"
  48. __callstatic:
  49. string(3) "FOO"
  50. __callstatic:
  51. string(3) "FOO"