Zor*_*orb 5 php function-pointers
可以在运行时为一个类变量赋一个函数来执行吗?像C一样的"函数指针"
像这样的事情:(这不会起作用,因为总和超出A的范围,但这是我的意思)
class A {
public $function_name;
public functon run($arg1,$arg2){
$function_name($arg1,$arg2);
}
}
function sum($a,$b){
echo $a+$b;
}
$a=new A();
$a->function_name='sum';
$a->run();
Run Code Online (Sandbox Code Playgroud)
[编辑]我知道有"call_user_func",但我需要了解范围内的函数或使用公共类方法
如果您使用 PHP >5.3.0,则可以使用匿名函数:
$sum = function($a, $b) {
return $a+$b;
}
$a->function_name = $sum;
Run Code Online (Sandbox Code Playgroud)