是否可以在PHP中实现函数作为对象实例?我习惯用Java在下面的代码中执行此操作,但我似乎无法在PHP中找到类似的方法。有可能吗?
interface OneVarFunction {
public int eval(int x);
}
static void routine() {
OneVarFunction func1 = new OneVarFunction() {
public Boolean eval(int x) {
return x*x;
}
};
OneVarFunction func2 = new OneVarFunction() {
public Boolean eval(int x) {
return 2*x+1;
}
};
}
答案 0 :(得分:2)
可以在PHP7 +
中使用在你的情况下,一个例子是
interface OneVarFunction {
public function eval($x);
}
//...
$test = new class implements OneVarFunction {
public function eval($x) {
return $x*$x;
}
};
有关详细信息,请参阅PHP Manual的相应网站,该网站还提供了更多示例。
但是,在PHP7之前的版本中,这是不可能的。