1 class Foo 2 { 3 static function bar() 4 { 5 echo "bar "; 6 } 7 function baz() 8 { 9 echo "baz "; 10 } 11 } 12 13 $func = array("Foo", "bar"); 14 $func(); // prints "bar" 15 $func = array(new Foo, "baz"); 16 $func(); // prints "baz" 17 $func = "Foo::bar"; 18 $func(); // prints "bar" as of PHP 7.0.0; prior, it raised a fatal error
虽然文档表明常量的使用与变量的使用类似,但是变量函数有一个例外。不能使用常量作为函数名来调用变量函数。
const DEBUGME ='func';
function func($s) { echo $s. "
"; }
DEBUGME('abc'); // results in a syntax error 报错
$call = DEBUGME;
$call('abc'); // does the job //成功