是否有更优雅的方式将函数传递给PhP中的另一个函数?

时间:2016-08-15 16:59:10

标签: php function

可以通过将函数名称传递给字符串PHP pass function as param then call the function?

来完成

那很粗糙。

没有类型检查

如果我重构函数名,那么包含变量的字符串也需要手动修复。如果我们有拼写错误,则不会在编译时检查。

它不像在vb.net中我们有addressOf运算符。

这真的是PhP执行此操作的唯一方法吗?

我的意思是lamda功能似乎更健全。至少我们传递的变量实际上是一个函数而不是一个字符串。

我错了吗?

这样做的正确方法是使用lambda吗?

或者还有其他方法吗?

我可以使用像这样的闭包

function getSelectedElements($textFile)
{

    $standardfuncline2= function (&$arout,$line)
    {
        standardfuncline1 ($arout,$line);
    };
    $result = getSelectedElementsCustomFunc ($textFile,$standardfuncline2);
    return $result;
}

而不是

$result = getSelectedElementsCustomFunc ($textFile,"standardfuncline1");

这似乎更适用于所有类型检查和填充。但是,有点太长了不是吗?

0 个答案:

没有答案