【问题标题】:Is it good pratice to add closure inside constructor?在构造函数中添加闭包是一种好习惯吗?
【发布时间】: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);
        }
    }
}
?>

【问题讨论】:

标签: php closures


【解决方案1】:

我有一个own array class,在构造函数中定义了很多函数(或闭包)。这种类型的函数定义还允许您使用方法添加自己的函数。

  public function addSqlFunction($name, $function){
    $this->userFct[$name] = $function;
    return $this;
  }

我只看到这样做的好处。我对速度也很满意。因此,这对我来说是“最佳实践”。

【讨论】:

  • 是的,我认为这也是正确的做法
猜你喜欢
  • 2019-02-01
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 2017-10-11
  • 2015-02-18
  • 2014-11-05
  • 1970-01-01
  • 2023-03-06
相关资源
最近更新 更多