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