indirect_call_array_003.phpt 596 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. Indirect method call by array - Calling __call() and __callStatic()
  3. --FILE--
  4. <?php
  5. class foo {
  6. public function __call($a, $b) {
  7. printf("From %s:\n", __METHOD__);
  8. var_dump($a);
  9. var_dump($this);
  10. }
  11. static public function __callStatic($a, $b) {
  12. printf("From %s:\n", __METHOD__);
  13. var_dump($a);
  14. var_dump($this);
  15. }
  16. }
  17. $arr = array('foo', 'abc');
  18. $arr();
  19. $foo = new foo;
  20. $arr = array($foo, 'abc');
  21. $arr();
  22. ?>
  23. --EXPECTF--
  24. From foo::__callStatic:
  25. string(3) "abc"
  26. Notice: Undefined variable: this in %s on line %d
  27. NULL
  28. From foo::__call:
  29. string(3) "abc"
  30. object(foo)#%d (0) {
  31. }