dongqianzhan8325 2019-03-14 12:38
浏览 64
已采纳

动态构建和执行函数[PHP]

I have a function defined as:

function foo($params)
{
    echo "Hello ".$params;
}

Then, in another file, I have:

$functionName = "foo";
$functionParams = "World";

include("./path_to_file_where_above_function_exists.php");

$functionName($functionParams);

This outputs, as expected:

Hello World

So far so good, what I want to know is how can I check if the function exists in the other file? For example, if I change:

$functionName = "foo";

to

$functionName = "bla";

The code throws no errors. Any help on how to properly handle errors in this case?

Thank you.

  • 写回答

1条回答 默认 最新

  • douqilin4296 2019-03-14 12:43
    关注

    You can check the ability to call a function with help is_callable(). For example:

    function foo($params)
    {
        echo "Hello ".$params;
    }
    
    $functionName = "foo";
    $functionParams = "World";
    if (!is_callable($functionName)) {
        echo "{$funtionName} is not a function"
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题