2017-02-14 8 views
1

PHPでオブジェクトインスタンスとして関数を実装することは可能ですか?私は以下のコードでJavaでこれを行うのに慣れていますが、PHPで同様のアプローチを見つけることはできません。出来ますか?は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; 
     } 
    }; 
} 

答えて

2

それはあなたの場合にPHP7 +

で可能であり、実施例はまた、さらなる例を提供PHP Manualの対応する部位を、詳細については、

interface OneVarFunction { 
    public function eval($x); 
} 

//... 

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

あろう。

PHP7より前のバージョンでは不可能です。

関連する問題