【发布时间】:2021-04-11 18:43:09
【问题描述】:
我在构造函数中添加了闭包,不确定它的性能和最佳实践。如果这不是正确的方法,那么最好的方法是什么?
<?php
class Foo
{
private $operation;
public function __construct(){
$this->operation = [
"==" => function($a,$b) {return $a == $b;}
];
}
public function processComparision($operand1,$operator,$operand2){
if($operator == "=="){
$func = $this->operation[$operator];
return $func($operand1,$operand2);
}
}
}
?>
【问题讨论】:
-
@GetSet 如果不是闭包,是不是Lamda函数?
-
@AshishKafle 你可以称它们为匿名函数或闭包:php.net/manual/en/functions.anonymous.php
-
@Progrock 上面的代码是正确的做法吗?
-
@AshishKafle 因为你不能将匿名函数添加到你的属性声明中,所以移动到构造函数是可以的。