3 function no_dyn() { echo __FUNCTION__
."\n"; }
4 <<__DynamicallyCallable
>> function dyn() { echo __FUNCTION__
."\n"; }
7 static function static_no_dyn() { echo __METHOD__
."\n"; }
8 function inst_no_dyn() { echo __METHOD__
."\n"; }
9 <<__DynamicallyCallable
>> static function static_dyn() {echo __METHOD__
."\n";}
10 <<__DynamicallyCallable
>> function inst_dyn() { echo __METHOD__
."\n"; }
13 function test_it($fname, $cname = null) {
15 if ($cname) $f = HH\
dynamic_class_meth($cname, $fname);
16 else $f = HH\
dynamic_fun($fname);
17 } catch (InvalidArgumentException
$ex) {
18 echo "Caught: ".$ex->getMessage()."\n";
26 set_error_handler(($_n, $str) ==> { echo "Warning: $str\n"; return true; });
30 test_it('static_dyn', 'Cls');
31 test_it('static_no_dyn', 'Cls');
33 test_it('inst_dyn', 'Cls');
34 test_it('inst_no_dyn', 'Cls');
36 test_it('bad_func_name');
37 test_it('bad_meth_name', 'Cls');
38 test_it('static_dyn', 'BadClassName');