【问题标题】:implement function as object in PHP在 PHP 中将函数实现为对象
【发布时间】:2017-07-02 06:07:37
【问题描述】:

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

【问题讨论】:

    标签: php function object


    【解决方案1】:

    PHP7+可以实现

    在你的情况下,一个例子是

    interface OneVarFunction {
        public function eval($x);
    }
    
    //...
    
    $test = new class implements OneVarFunction {
        public function eval($x) {
            return $x*$x;
        }
    };
    

    更多信息,请参见PHP Manual的相应站点,该站点还提供了更多示例。

    但在 PHP7 之前的版本中是不可能的。

    【讨论】:

      猜你喜欢
      • 2015-01-30
      • 1970-01-01
      • 2010-11-08
      • 2016-02-13
      • 2021-07-24
      • 2022-01-14
      • 2013-10-23
      • 1970-01-01
      • 2015-08-11
      相关资源
      最近更新 更多