0

我正在尝试将匿名函数分配给数组键:

const rules = [
    'service_level' => function (&$parameter) {
        $hasMoreThanOneStore = Places::whereIn('type_store', [2, 3])->count() > 0 ? true : false;
        if (!$hasMoreThanOneStore ) {
            unset($parameter['distribution_center']);
        }
    },
];

但是,当我运行上面的代码时,我会收到一条FatalErrorException消息Constant expression contains invalid operations

为什么?

这是一种在租户中为某些参数设置规则的方法,因此它不会将业务规则传播到任何地方。用例是:

public function getParameterByKey(string $key, bool $default = true): Array
{
    //Get default parameter stored in a constant array
    $parameter = ParameterEnum::PARAMETER[$key];
    //Execute rule on that parameter
    call_user_func(ParameterEnum::RULES[$key], $parameter);
}

因此,当您调用时,getParameterByKey('service_level')您将获得已应用所有规则的参数。

4

0 回答 0