在PHP中实现函数作为对象

时间:2017-02-14 04:30:28

标签: php function object

是否可以在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;
        }
    };
}

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之前的版本中,这是不可能的。