<?php
class MyClass {
public static
function __callStatic
( string
$name, array $args ) { $args[0]->say();
return "\nmethod name = $name, args = " . var_export($args, 1); }
}
class Cat {
public function say() {
echo 'meow!';
return 1;
}
}
$cat = new Cat();
echo MyClass::test($cat, 42, 'foo');
PD9waHAKCmNsYXNzIE15Q2xhc3MgewogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gX19jYWxsU3RhdGljKCBzdHJpbmcgJG5hbWUsIGFycmF5ICRhcmdzICkgewogICAgJGFyZ3NbMF0tPnNheSgpOwogICAgcmV0dXJuICJcbm1ldGhvZCBuYW1lID0gJG5hbWUsIGFyZ3MgPSAiIC4gdmFyX2V4cG9ydCgkYXJncywgMSk7CiAgfQp9CgpjbGFzcyBDYXQgewoJcHVibGljIGZ1bmN0aW9uIHNheSgpIHsKCQllY2hvICdtZW93ISc7CgkJcmV0dXJuIDE7Cgl9Cn0KCiRjYXQgPSBuZXcgQ2F0KCk7CgplY2hvIE15Q2xhc3M6OnRlc3QoJGNhdCwgNDIsICdmb28nKTsK